web-dev-qa-db-ja.com

USBメモリが挿入されていないとシステムは起動しません

Linux Mintを試す前にこの問題が発生したことがありますが、サポートを受けることができませんでした。それから私はそれがミントに関連した問題であり、グラブではないことを信じるようになりました。

今夜、Ubuntu 12.04をWindows 7と並んで2番目のパーティションにインストールしました。USBスティックからインストールしました。それは今言う:

error: no such device: 20cec6ca-4024-4237-84c3-2dba3c851497
grub rescue >

Ubuntuがインストールされているドライブが、おそらく存在しないUUIDと一致することをls -l /dev/disk/by-uuidで確認しました。サムドライブを挿入したときのUUIDは、たまたま06B3-9C68です。

/boot/grub/grub.cfgのどこかにUSBドライブのUUIDが記載されていない

また、システムを起動し、スティックを取り外し、grub-install /dev/sdaを実行した後、GRUB=)を再インストールしようとしました。それでも起こります。USBドライブを挿入しないと起動できません。そして、私のヤギを本当に取得するのは、私のシステムの起動順序がCDROM>ハードドライブ> USBであるということです。それから起動しようとしてもUSBに届かないので、なぜそこにないのが重要なのですか?

編集:また、スティックなしでgrub-configを実行し、続いて別のgrub-installを実行しました。まだ行かない。

FWIW、ここに私のgrub.cfgファイルがあります:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd1,msdos5)'
search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd1,msdos5)'
  search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
  set locale_dir=($root)/boot/grub/locale
  set lang=en_CA
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="$1"
    if [ "$1" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ ${recordfail} != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
    set linux_gfx_mode=keep
      else
    set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.2.0-25-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos5)'
    search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
    linux   /boot/vmlinuz-3.2.0-25-generic-pae root=UUID=20cec6ca-4024-4237-84c3-d2ba3c851497 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.2.0-25-generic-pae
}
menuentry 'Ubuntu, with Linux 3.2.0-25-generic-pae (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos5)'
    search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
    echo    'Loading Linux 3.2.0-25-generic-pae ...'
    linux   /boot/vmlinuz-3.2.0-25-generic-pae root=UUID=20cec6ca-4024-4237-84c3-d2ba3c851497 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.2.0-25-generic-pae
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos5)'
    search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
    linux   /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=20cec6ca-4024-4237-84c3-d2ba3c851497 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.2.0-23-generic-pae
}
menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos5)'
    search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
    echo    'Loading Linux 3.2.0-23-generic-pae ...'
    linux   /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=20cec6ca-4024-4237-84c3-d2ba3c851497 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.2.0-23-generic-pae
}
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos5)'
    search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
    linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos5)'
    search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 9014706714705268
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
1
agent154

問題は、grub.cfgに表示されるhd1のようです。単一ディスクシステムの場合は、hd0である必要があります。 UUIDが正しいと仮定して、スティックで起動し、/ boot/grub/grub.cfgの権限を変更してw(Sudo chmod + w grub.cfg)を含め、ファイルを編集(Sudo vi grub.cfg)し、 hd1からhd0。保存してシャットダウンし、スティックを取り外して再起動します。 grubメニューで、使用可能なディスクを確認できます。grubコマンドラインにcを入力し、「set root =」と入力してから、オートコンプリートのタブを入力します。利用可能な場合は複数の選択肢が提供されますが、hd0のみが利用可能な場合は「set root = hd0」と入力され、別のタブにパーティションの選択肢が表示されます。 hd1からhd0への編集の修正は、grubメニューから直接動作し、eを入力して編集し、hd1を変更してからF10(またはctrl X)を再起動します。それが機能する場合は、Sudo update-grubを使用して永続的に修正します。

2
ubfan1

ブートローダーは、インストール時にUSDドライブがあったアドレスを指しているようです。

私は過去にこれに対処しなければならなかった、と使用して問題を修正することができました:

ブート修復

Boot-Repairは、Windowsまたは別のLinuxディストリビューションのインストール後にUbuntuを起動できない場合、Ubuntuのインストール後にWindowsを起動できない場合、またはGRUBは表示されなくなり、一部のアップグレードではGRUBが壊れます。


このタイプの状況を修正するために使用したもう1つの方法は、Super Grub2 Diskを使用してLinuxパーティション内で起動できるようにし、管理ツールを使用してブートローダーを修正することでした。

Super Grub2 Disk

Super GRUB2 Diskの主な目的は、ブートローダーが壊れているOSを起動できるようにすることです。

1
Zuul