मैं कैसे Grub मेनू पर Memtest86 + विकल्प जोड़ सकता हूं?


34

यदि यूईएफआई का उपयोग कर रहे हैं, तो कृपया यह प्रश्न देखें, "क्या मैं यूईटीआई का उपयोग कर सकता हूं तो क्या मैं मेमस्टेस्ट 86 + बूट कर सकता हूं?"

अपने Lenovo B570 पर Ubuntu 12.04 के 64 बिट संस्करण को स्थापित करने के बाद मैं उसी समस्या में भाग गया जब मैंने 11.10 को स्थापित किया था जब ग्रब के साथ एक यूईएफआई प्रणाली के साथ अच्छी तरह से नहीं खेल रहा था। मैंने समस्या को हल करने के लिए पिछली बार के समान तकनीक का उपयोग किया था (ग्रब की मरम्मत के लिए एक सुपर ग्रब डिस्क लाइवसीडी सत्र का उपयोग करके) और मेरी प्रणाली उबंटू और विंडोज 7 के बीच खुशी से दोहरी बूट करती है

हालाँकि अब जब मैं ग्रब मेनू दिखाता हूँ तो केवल प्रदर्शित करता है

  • लिनक्स 3.2.0-24-जेनेरिक के साथ उबंटू
  • लिनक्स 3.2.0-24-जेनेरिक (रिकवरी मोड) के साथ उबंटू
  • पिछले लिनक्स संस्करण
  • विंडोज 7 (लोडर) (पर / देव / sda1)
  • Windows रिकवरी एनवायरनमेंट (लोडर) (on / dev / sda4)

मुझे अब Memtest86 + का उपयोग करने का विकल्प दिखाई नहीं दे रहा है, जो पहले वहां था, उबंटू सॉफ्टवेयर सेंटर में जांचने के बाद मैं देख सकता हूं कि पैकेज स्थापित है, लेकिन मैं इसे ग्रब मेनू में एक बार फिर से चलाने के लिए विकल्प कैसे बना सकता हूं?

मैंने कोशिश की:

sudo update-grub 

जिसे कोई फर्क नहीं पड़ता।

sudo chmod +x /etc/grub.d/20_memtest86+ 

का परिणाम:

chmod: cannot access /etc/grub.d/20_memtest86+': No such file or directory

और प्रवेश कर रहा है

ls /etc/grub.d/

का परिणाम:

00_header        10_linux      30_os-prober  41_custom
05_debian_theme  20_linux_xen  40_custom     README

नीचे दी गई स्क्रिप्ट को विस्तृत रूप से जोड़ने का प्रयास करें, इसे मेरी मशीन से कॉपी करें, chmod + x और ग्रब अपडेट करें और देखें कि क्या काम करता है। मैं तुम्हें देखता हूँ - आपका स्वागत है।
23 93 26 35 19 57 3 89

जवाबों:


19

टर्मिनल खोलने और चलाने का प्रयास करें

sudo chmod +x /etc/grub.d/20_memtest86+
sudo update-grub

यह देखने के लिए जांचें कि क्या यह वहां है

grep memtest /boot/grub/grub.cfg

जैसा मैंने अक्षम किया था वैसा ही किया

hob@hob-HP-dx5150-MT:~$ cat /boot/grub/grub.cfg |grep memtest
hob@hob-HP-dx5150-MT:~$ sudo chmod +x /etc/grub.d/20_memtest86+
[sudo] password for hob: 
hob@hob-HP-dx5150-MT:~$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-24-generic
Found initrd image: /boot/initrd.img-3.2.0-24-generic
Found linux image: /boot/vmlinuz-3.2.0-23-generic
Found initrd image: /boot/initrd.img-3.2.0-23-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Ubuntu 11.10 (11.10) on /dev/sda6
Found Trisquel 5.5 (5.5) on /dev/sda8
Found Ubuntu 12.04 LTS (12.04) on /dev/sda9
done
hob@hob-HP-dx5150-MT:~$ cat /boot/grub/grub.cfg |grep memtest
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    linux16 /boot/memtest86+.bin
menuentry "Memory test (memtest86+, serial console 115200)" {
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
### END /etc/grub.d/20_memtest86+ ###

यदि आप टर्मिनल में नैनो का उपयोग कर रहे हैं तो आप फ़ाइल बनाने की कोशिश कर सकते हैं

sudo nano /etc/grub.d/20_memtest86+

या एक गुई संपादक के साथ

gksudo gedit /etc/grub.d/20_memtest86+

इससे भरें

#!/bin/sh
set -e

if [ -f /usr/lib/grub/grub-mkconfig_lib ]; then
  . /usr/lib/grub/grub-mkconfig_lib
  LX=linux16
elif [ -f /usr/lib/grub/update-grub_lib ]; then
  . /usr/lib/grub/update-grub_lib
  LX=linux
else
  # no grub file, so we notify and exit gracefully
  echo "Cannot find grub config file, exiting." >&2
  exit 0
fi

# We can't cope with loop-mounted devices here.
case ${GRUB_DEVICE_BOOT} in
  /dev/loop/*|/dev/loop[0-9]) exit 0 ;;
esac

prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"

if test -e /boot/memtest86+.bin ; then
  MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+.bin" )
  echo "Found memtest86+ image: $MEMTESTPATH" >&2
  cat << EOF
menuentry "Memory test (memtest86+)" {
EOF
  printf '%s\n' "${prepare_boot_cache}"
  cat << EOF
    $LX $MEMTESTPATH
}
menuentry "Memory test (memtest86+, serial console 115200)" {
EOF
  printf '%s\n' "${prepare_boot_cache}"
  cat << EOF
    $LX $MEMTESTPATH console=ttyS0,115200n8
}
EOF
fi

#if test -e /boot/memtest86+_multiboot.bin ; then
#  MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+_multiboot.bin" )
#  echo "Found memtest86+ multiboot image: $MEMTESTPATH" >&2
#  cat << EOF
#menuentry "Memory test (memtest86+, experimental multiboot)" {
#EOF
#  printf '%s\n' "${prepare_boot_cache}"
#  cat << EOF
#   multiboot   $MEMTESTPATH
#}
#menuentry "Memory test (memtest86+, serial console 115200, experimental multiboot)" {
#EOF
#  printf '%s\n' "${prepare_boot_cache}"
#  cat << EOF
#   multiboot   $MEMTESTPATH console=ttyS0,115200n8
#}
#EOF
#fi

बाद में उस पर chmod + x कमांड चलाना सुनिश्चित करें।

मैं थोड़ा चिंतित हूँ कि यह याद आ रही है - क्या आपके पास grub.d में सब कुछ है?

ls /etc/grub.d/


00_header        10_linux.bak       20_memtest86+  41_custom
05_debian_theme  10_linux.dpkg-old  30_os-prober   README
10_linux         20_linux_xen       40_custom

sudo chmod +x /etc/grub.d/20_memtest86+परिणाम:chmod: cannot access /etc/grub.d/20_memtest86+': No such file or directory
कवरेल

1
मैंने किसी तरह 20_memtest86+दुबक गया /etc/grub.d.bak/। यह जगह में ले जाया गया, अद्यतन GRUB और मेरे लिए सब कुछ ठीक काम किया।
Naftuli Kay

3
update-grubकोई द्विआधारी याद नहीं है कि मैं क्या करता हूँ :(
विशेषज्ञ

2
ऐसा इसलिए नहीं है क्योंकि जीपीएल संस्करण मेम्टेस्ट ईएफआई का समर्थन नहीं करता है? तो अगर आप EFI के माध्यम से बूट कर रहे हैं, तो उबंटू के साथ जो भी भेज दिया गया है उसका उपयोग करके काम करने का कोई रास्ता नहीं है ?
जेफ एटवुड

1
मुझे निम्नलिखित मिला, X @ ubuntu: ~ $ cat /boot/grub/grub.cfg | grep memtest ### BEGIN /etc/grub.d/20_memtest86+ ### ### END /etc/grub.d/20_memtest86+ ###
user4545827

13

मेरे पास एक ही मुद्दा था, और इस तथ्य के कारण कि मेरे पास अपने लैपटॉप पर EFI है memtest86 + संस्करण 4.x ubuntu द्वारा शिप किया गया काम नहीं करेगा, क्योंकि EFI केवल संस्करण 5 और नए द्वारा समर्थित है।

नवीनतम संस्करण नॉन-जीपीएल हैं और इसे यादगार वेबसाइट (इन्हें आईएसओ और यूएसबी इमेज) से मैन्युअल रूप से डाउनलोड किया जाना चाहिए, लेकिन कम से कम वे नि: शुल्क हैं।



नवीनतम संस्करण नॉन-जीपीएल हैं और इसे यादगार वेबसाइट (इन्हें आईएसओ और यूएसबी इमेज) से मैन्युअल रूप से डाउनलोड किया जाना चाहिए, लेकिन कम से कम वे नि: शुल्क हैं। memtest86 गैर-जीपीएल और मालिकाना है और memtest86 + GPL है।
रामचंद्र आप्टे

6
apt-get install memtest86+

यह स्वतः ग्रब को फिर से कॉन्फ़िगर करेगा और बूट मेनू में प्रविष्टि जोड़ देगा।

यदि आपको त्रुटि मिलती है memtest86+ is already the newest versionतो उपयोग करें sudo apt-get install --reinstall memtest86+

यदि अन्य सभी विफल रहता है, तो आप एक बूट करने योग्य आईएसओ प्राप्त कर सकते हैं जिसे आप सीडी और बर्न से जला सकते हैं। बेशक अगर आप UEFI को बूट कर रहे हैं तो आपको इसके बजाय यहां होना चाहिए


Ubuntu 16.04 सर्वर के लिए यह वास्तव में समाधान था। बिना apt-get install memtest86+उल्लेखित फाइल /etc/grub.d/20_memtest86+मेरे सिस्टम पर मौजूद नहीं थी।
मैस्ट्रैप

@ststrap, यह मेरे लिए भी समाधान था। मुझे समझ नहीं आता कि मेरे उत्तर को दो बार क्यों अस्वीकृत किया गया।
माइकल फ्रांजल

1
यह समाधान मेरे काम नहीं आया - उपरोक्त आदेश से एक memtest86+ is already the newest versionसंदेश प्राप्त हुआ । मुझे संदेह है कि यह समाधान केवल गैर यूईएफआई प्रणालियों के लिए काम करता है, जबकि मूल प्रश्न विशेष रूप से यूईएफआई सिस्टम पर मेमेटेस्ट के बारे में है।
JayDin

1
यह मेरे लिए भी काम नहीं किया, जैसे कि JayDin memtest पहले से ही स्थापित था। मैंने मेमटेस्ट को हटाने के लिए सिनैप्टिक पैकेज मैनेजर का इस्तेमाल किया, फिर से रिबूट किया। इससे मेरे लिए समस्या ठीक हो गई।
user111667

5

मैं 2 दिनों में यह काम करने में कामयाब नहीं हुआ, तब मैंने ग्रूब पैकेज के लिए सिनैप्टिक की जाँच की ... लगता है, पैकेज की अनुपस्थिति grub-imagebootसमस्या की जड़ है।

sudo apt-get install grub-imageboot

मैंने यह कोशिश की और यह काम नहीं किया।
हाईटेककंप्यूटरजैक

2
मिला मेमदिस्क: / बूट / मेमदिस्क इमेजपैथ / बूट / चित्र नहीं मिला
हारून

1

यह क्या मैंने UEFI बूटिंग के लिए ग्रब बूट मेनू में अब नवीनतम (गैर-मुक्त) मेमेस्टी86 + जोड़ दिया। वर्तमान यादगार संस्करण 8.2 है। आवश्यक उपकरण: डिस्क छवि मुनटर और ग्रब-कस्टमाइज़र, बाद वाला केवल सुविधा के लिए है :) फ़ाइलें: मेमनेस्ट बाइनरी (नीचे देखें)

  1. मेम्नेस्ट बाइनरी को डाउनलोड करें: https://www.memtest86.com/download.htm 'विंडोज / लिनक्स / मैक सिस्टम पर बूट करने योग्य यूएसबी ड्राइव बनाने के लिए छवि' ठीक है।
  2. IMG फ़ाइल निकालें (memtest86-usb.img)
  3. img फ़ाइल को डिस्क इमेज माउंटर (उबुन्टु पर दायाँ माउस बटन) खोलें
  4. माउंटेड इमेज एक्स्ट्रैक्ट /EFI/BOOT/BOOTX64.efi से
  5. memtest86 बूट निर्देशिका बनाएं:
    सुडोकू mddir / boot / efi / EFI / memtest86
  6. बूट विभाजन पर अपने नए फ़ोल्डर में BOOTX64.efi की प्रतिलिपि बनाएँ (उदाहरण के लिए / boot / efi / EFI / मेमोरियल)
  7. ओपन ग्रब-कस्टमाइज़र
  8. मेनू आइटम जोड़ें, इसे एक नाम दें, प्रकार चुनें: अन्य
  9. निम्नलिखित बूट अनुक्रम जोड़ें (मान लें कि आप HD0 से बूट करते हैं ):
insmod part_gpt
insmod fat
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  1A22-970F
else
  search --no-floppy --fs-uuid --set=root 1A22-970F
fi
chainloader /EFI/memtest86/BOOTX64.efi
  1. ग्रब-कस्टमाइज़र को सहेजें और छोड़ें

  2. रिबूट और मेमेस्टोरी का आनंद लें


दूसरों के लिए / मेरे लिए: # 3 डिस्क छवि मुठभेड़ = सूक्ति-डिस्क। # 6 रूट होना चाहिए। # 8 क्यों अन्य प्रकार कंठस्थ नहीं है? # 9 अगर आप hd0 से बूट करते हैं तो आपको कैसे पता चलेगा? [अपने बूट ड्राइव प्रविष्टि पर संपादित करें पर क्लिक करें और उस सेटरोट के लिए प्रविष्टि को कॉपी करें]। इस उत्कृष्ट उत्तर btw के लिए धन्यवाद।
dez93_2000

यदि किसी का ubuntu रूट hd2 है, तो संभवतः आप 0 से 2 को 4 स्थानों में बदल सकते हैं, inc ahci? इसके बावजूद मुझे त्रुटि मिलती है कि ऐसा कोई उपकरण 1A22-970F और फ़ाइल '/EFI/memtest86/BOOTX64.efi' नहीं मिला। फ़ाइल डिफ / बूट / efi / EFI / memtest86 / में है। कोई विचार? चीयर्स
dez93_2000

'एरर डिस्क hd2, gpt2 नहीं मिला' अब 'नो डिवाइस' के साथ दिखाई देता है; नहीं मिली फ़ाइल दिखाई नहीं देती है। यकीन नहीं होता कि यह क्यों बदलेगा ...
dez93_2000
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.