Обходной путь grub for не может найти UUID в системе с двойной загрузкой, и теперь grub ничего не загружает

Новая чистая установка рабочего стола x86 11.10. Двойная загрузка с Windows XP и Linux на отдельных дисках.

После установки grub не загрузит Windows, но при смене загрузочного диска загрузится нормально.

Когда я иду, чтобы исправить это, я нахожу на http://bootinfoscript.sourceforge.net/ и ссылку на http://sourceforge.net/apps/mediawiki/bootinfoscript/index.php?title=Boot_Problems%3Asearch мою проблему, сообщение об ошибке загрузки grub:

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

Поэтому я следую за шагом 2 и сравниваю результат:

sudo blkid а также

sudo nano /boot/grub/grub.cfg

Оба идентификатора UUID совпадают для диска Windows, поэтому в шаге 4 я исправляю "удалить строки поиска для…" в /usr/lib/grub/grub-mkconfig_lib, комментируя три строки, как и раньше ⋯

# 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 и убедитесь, что теперь он идентифицирует раздел Windows не по UUID, что, я полагаю, является обходным путем.

Но теперь, когда я пытаюсь загрузить 11.10 Desktop, я получаю:

error: no such partition… …

и когда я пытаюсь загрузить Windows, я получаю:

error: invalid signature.

Итак, как мне это исправить...

Проблема с загрузкой и найти обходной путь, который работает?

2 ответа

Решение

Ну, так как это действительно вопрос из двух частей, я могу ответить на первый неявный вопрос о том, как заставить grub2 хотя бы загрузить ubuntu.

Это выглядит так:

  • Загрузка с LiveCD (рабочий стол x86 11.10)

  • Смонтируйте корень Ubuntu 10.10 в /mnt

  • Изменить корень

  • Удалите временные изменения в /usr/lib/grub/grub-mkconfig_lib

  • Запустите update-grub

  • перезагружать

Вышеуказанные шаги приведены в нижней части документации сообщества Gru2 для Ubuntu.

Are подробности by example после загрузки с CD и запуска в терминале…

sudo -iЯ провел слишком много лет, как Су, но вы должны использовать "sudo …" перед каждой командой

ubuntu@ubuntu:~$ sudo -i

fdisk -lэто строчные буквы LНайдите разделы установки 11.10, (другие диски здесь)

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 Root мой корневой раздел, sde7 мой домашний раздел

ls /mnt Checking просто проверяю, правильно ли я понял

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; doneсделать как одну строку

chroot /mntизменить корень

sudoedit /usr/lib/grub/grub-mkconfig_libздесь я отменяю изменения

update-grubnow update grub

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/grubcheck to see if changed (should be same as the original)

sudoedit /boot/grub/grub.cfgcheck to see if mounting by UUID as originally

И это было.

Now to file a bug report for the boot failure…

Это необъяснимо, поскольку в Grub не было внесено никаких изменений, кроме обычных обновлений.

Я нуб, который только что установил дуэльный загрузчик win10 и текущий Ubuntu Gnome. И Grub 2 работал много раз при настройке загрузки дуэли. Grub 2 работал, и мне не нужно было добавлять apci, acpi и т. Д.

После того, как я загрузил ботинок; Я использовал win10debloaterhttps://github.com/Sycnex/Windows10Debloater

Затем обновил win10 с помощью Центра обновления Windows, и я заметил, что системная биос изменилась, поскольку мне пришлось заново делать биос.

Я тоже согласен, что Grub не изменился; это мое предположение (не зная ничего об Ubuntu), что UUID изменился.

Таким образом, я предполагаю, что если UUID изменился после обновления Win10 и подтверждения ссылки на UUID.

Это продолжается уже давно, и я верю, что системная биос изменена win10; потому что если Ubuntu когда-либо создавал легкую установку Windows знает, что все может измениться за ночь.

Удалите это, если я ошибаюсь, пожалуйста.

Grub теперь работает как положено, и WinXP и Ubuntu 11.10 теперь загружаются правильно.

Это необъяснимо, поскольку в Grub не было внесено никаких изменений, кроме обычных обновлений.

Другие вопросы по тегам