web-dev-qa-db-ja.com

デュアルブートシステムでUUIDが見つからないためのgrubの回避策が失敗し、grubは何も起動しなくなりました

X86 11.10デスクトップの新規クリーンインストール。 Windows XPとLinuxを別々のドライブに搭載したデュアルブート。

インストール後、grubはWindowsを起動しませんが、起動ドライブを変更することで正常に起動します。

これを修正しようとすると、 http://bootinfoscript.sourceforge.net/http://sourceforge.net/apps/mediawiki/bootinfoscript/index。 php?title = Boot_Problems:search 私の問題、grubブートエラー画面のメッセージ:

error: no such device: 6⋯⋯⋯⋯⋯⋯⋯

そこで、Step2に従って、以下の出力を比較します。

Sudo blkidおよび

Sudo nano /boot/grub/grub.cfg

両方のUUIDがWindowsドライブと一致するため、/ usr/lib/grub/grub-mkconfig_libのステップ4「…の検索行を削除」で修正を行い、以前のように3行をコメントアウトします⋯

# if fs_uuid="`${grub_probe} --device ${device} --target=fs_uuid 2> /dev/null`" ; then
# echo "search --no-floppy --fs-uuid --set ${fs_uuid}"
# fi

Sudo update-grubを実行して/etc/default/grub.cfgをチェックすると、UUIDではなくWindowsパーティションが識別されていることがわかります。これは回避策と思われます。

しかし、11.10デスクトップを起動しようとすると、次のようになります。

error: no such partition… …

そして、Windowsを起動しようとすると、次のようになります:

error: invalid signature.

だから今、これをどのように修正しますか…

ブートの問題と動作する回避策を見つけますか?

まあ、それは本当に2つの部分からなる質問なので、少なくともgub2を少なくともubuntuを起動する方法についての暗黙の最初の質問に答えることができます。

こんなふうになります:

  • LiveCD(x86 11.10デスクトップ)から起動

  • Ubuntu 10.10のルートを/ mntにマウントします

  • ルートを変更

  • / usr/lib/grub/grub-mkconfig_libへの回避策の変更を削除します

  • Update-grubを実行します

  • リブート

上記の手順は Grub2のUbuntu Community Documentationの下部にあります

particular詳細はby exampleです。CDから起動し、ターミナルで実行した後…

Sudo -isuとして何年も費やしましたが、use "Sudo …"各コマンドの前に

ubuntu@ubuntu:~$ Sudo -i

fdisk -lこれは小文字のL

fdisk -l

⋯ ⋯ ⋯

Disk /dev/sde: 300.1 GB, 300089646592 bytes
255 heads, 63 sectors/track, 36483 cylinders, total 586112591 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3f5ebeb

Device    Boot      Start         End      Blocks   Id  System
/dev/sde2       138464296   586110975   223823340    5  Extended
/dev/sde3   *        2048   138463231    69230592   83  Linux
/dev/sde5       138464298   313460279    87497991    7  HPFS/NTFS/exFAT
/dev/sde6       313460736   317650943     2095104   82  Linux swap / Solaris
/dev/sde7       317652992   581922815   132134912   83  Linux
/dev/sde8       581924864   586110975     2093056   82  Linux swap / Solaris

Partition table entries are not in disk order

mount /dev/sde3 /mntルートパーティション、sde7はホームパーティションです

ls /mnt正しいかどうかを確認するだけです

root@ubuntu:~# mount /dev/sde3 /mnt
root@ubuntu:~# ls /mnt
bin   cdrom  etc   initrd.img      lib         media  opt   root  sbin     srv  tmp  var      vmlinuz.old
boot  dev    home  initrd.img.old  lost+found  mnt    proc  run   selinux  sys  usr  vmlinuz

for i in /dev /dev/pts /proc /sys; do Sudo mount -B $i /mnt$i; donedo as one line

chroot /mntルートを変更

sudoedit /usr/lib/grub/grub-mkconfig_libここで変更を元に戻します

update-grubgrubを更新

root@ubuntu:~# for i in /dev /dev/pts /proc /sys; do Sudo mount -B $i /mnt$i; done
root@ubuntu:~# chroot /mnt
root@ubuntu:/# sudoedit /usr/lib/grub/grub-mkconfig_lib
root@ubuntu:/# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.0.0-13-generic
Found initrd image: /boot/initrd.img-3.0.0-13-generic
Found linux image: /boot/vmlinuz-3.0.0-12-generic
Found initrd image: /boot/initrd.img-3.0.0-12-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Microsoft Windows XP Professional on /dev/sdc1
done

sudoedit /etc/default/grub変更されたかどうかを確認します(元のものと同じでなければなりません)

sudoedit /boot/grub/grub.cfgUUIDによるマウントが元どおりかどうかを確認します

そしてそうだった。

ブート失敗のバグレポートを提出します…

Grubは期待どおりに機能するようになり、WinXPとUbuntu 11.10の両方が正しく起動するようになりました。

通常のアップグレードを除き、Grubに変更が加えられていないため、これは説明できません。