как исправить неправильный UUID в grub.cfg?

Я запускаю Debian Wheezy один на своем компьютере и недавно скопировал корневой раздел на другой с помощью rsync как я обнаружил, что работает хорошо (я также знаю о dd и ddrescue, но они оставляют неиспользуемое пространство на новом разделе). Я сгенерировал новый случайный UUID для нового раздела с sudo tune2fs-U random/dev / hda9, а также обновленные записи fstab / и / home.

тогда, поскольку я так мало знаю о GRUB, я использовал gui (Grub Customizer) для поиска новой ОС и добавить запись в GRUB и MBR - это делает /etc / grub.D запись затем обновляет GRUB.

при запуске список GRUB содержит новую ОС (на sda9), но он загружает первую ОС (которую я скопировал из-sda5).

/ boot/grub / grub.cfg содержит новую ОС debian, но выглядит это так

set root='(hd0,msdos9)'  
search --no-floppy --fs-uuid --set=root 64662470-0e58-4dfd-90ac-43227d773556  
linux /boot/vmlinuz-3.2.0-2-amd64 root=UUID=cc3bca0d-aee4-4b9c-95c2-57212cc36d4d ro quiet  
initrd /boot/initrd.img-3.2.0-2-amd64

1-й uuid имеет sda9, но 2-й uuid есть sda5. Я могу изменить 2-й uuid при запуске (с E), и он загружается sda9.


Так как я могу получить вскапывать.cfg исправлено так, что запись списка личинок sda9 загружается с sda9 постоянно?

26
задан mozerella
07.02.2023 0:09 Количество просмотров материала 3154
Распечатать страницу

3 ответа

просто редактировать /boot/grub/grub.cfg/ и замените UUID sda5 на sda9:

search --no-floppy --fs-uuid --set=root 64662470-0e58-4dfd-90ac-43227d773556  
linux /boot/vmlinuz-3.2.0-2-amd64 root=UUID=64662470-0e58-4dfd-90ac-43227d773556 

, чтобы избежать этого типа ошибки в будущем run update-grub из системы, которую вы хотите использовать. Если запустить его со старой ОС, то он подберет настоящее корневой раздел и установить grub.cfg для загрузки с этого.

3
отвечен terdon 2023-02-08 07:57

при выполнении update-grub С sda5 чтение /boot/grub/grub.cfg С sda9, который был скопирован с sda5. Первая загрузка в sda5, которая является вашей основной ОС. Затем используйте эти команды, чтобы исправить:

SourceUUID=cc3bca0d-aee4-4b9c-95c2-57212cc36d4d
TargetUUID=64662470-0e58-4dfd-90ac-43227d773556
sudo mkdir /mnt/clone
sudo mount -t auto -v /dev/sda9 /mnt/clone
sudo sed -i "s/$SourceUUID/$TargetUUID/g" /mnt/clone/boot/grub/grub.cfg
sudo update-grub
sudo umount /mnt/clone -l

Я основал этот ответ на Ubuntu 16.04 LTS клонировать новый сценарий раздела.

0
отвечен WinEunuuchs2Unix 2023-02-08 10:14

Мне пришлось удалить /boot/grub / menu.lst (сначала вы должны сначала создать резервную копию), а затем обновить-grub, сказав " Да " для создания нового. Затем он обнаружил правильный раздел UUID для загрузки.

0
отвечен mwm 2023-02-08 12:31

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх