Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: GRUB2 grub.cfg sba3 вместо UUID  (Прочитано 4301 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн rabamaster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
GRUB2 grub.cfg sba3 вместо UUID
« : 23 Март 2014, 00:39:15 »
Здравствуйте, вопрос такой: клонирую машину с двумя ОС Windows 7 и Ubuntu с GRUB2. Клонирую при помощи Acronis, машины одинаковый.
После клонирования, понятное дело, не загружается, выдает ошибку
dracut warning no root device "block:/dev/disk/by-uuid/e392350a......" found
переустановили GRUB и все хорошо.
Но, можно ли обойтись без восстановления GRUB? Например, в grub.cfg вместо UUID раздела использовать sda2 и sda3?
Чтобы при клонировании он не привязывался к железу. Просто машин много, и 10 мин. на восстановление загрузки выливается в часы. :'(
Файл grub.cfg не рекомендуется редактировать вручную, но, наверное, можно, ели хочется)

Если можно сделать замену UUID на sda, то как? Можно с примером?

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: GRUB2 grub.cfg sba3 вместо UUID
« Ответ #1 : 23 Март 2014, 00:44:20 »
Где-то в настройках есть опция noUUID… Только там не sda, а hd(0,…) Нашел в /etc/default/grub
Цитировать
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
Вся фишка в назначении root-раздела. Обычно используетсяsearch --no-floppy --fs-uuid --set 0e717c2a-24bd-4abe-acfe-ecf98fc814f8Фокус в том, что искать может не только по UUID, но и по метке (опция -l или --label) или по файлу на диске (опция -f или --file). И назначаться напрямуюset root='(hd0,msdos5)'Что касается опций уже непосредственно загрузки то да, в строкеlinux /boot/vmlinuz-2.6.32-020632rc6-generic root=UUID=0e717c2a-24bd-4abe-acfe-ecf98fc814f8 roможете смело менять root=UUID=… на root=/dev/sda3 или даже на root=LABEL=…sudo sed -i '/--fs-uuid\s\|-u\s/{s//--label /;s/\S\+$/"ROOT"/} ; /^\s*linux/s/UUID=\S\+/LABEL="ROOT"/ ; /END.*20_memtest86+/q' /boot/grub/grub.cfg(вместо "ROOT" вставите свой, возможно без кавычек " )
И ещё момент, если /boot на отдельном диске — то в первом выражении ROOT заменить на BOOT.
* Посмотреть метку blkid, изменить/назначить e2label или tune2fs -L

Непосредственное редактирование /boot/grub/grub.cfg конечно не рекомендуется (разве только на 1 раз для установки), т.к. при обновлении оно по новой перезапишется, посему если на совсем, то править придется конфигурационные скрипты в /etc/grub.d/
P.S. В /etc/fstab не забыли тоже поменять привязку UUID на /dev/sda№?
« Последнее редактирование: 23 Март 2014, 02:16:34 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн rabamaster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: GRUB2 grub.cfg sba3 вместо UUID
« Ответ #2 : 23 Март 2014, 01:07:40 »
было
menuentry "linux" {
search -u 0e717c2a-24bd-4abe-acfe-ecf98fc814f8 -s
linux /boot/vmlinuz-2.6.33-020633rc1-generic root=UUID=0e717c2a-24bd-4abe-acfe-ecf98fc814f8 ro quiet splash
initrd /boot/initrd.img-2.6.33-020633rc1-generic

search -u 0e717c2a-24bd-4abe-acfe-ecf98fc814f8 -s - можно удалить, я так думаю...

станет
menuentry "linux" {
linux /boot/vmlinuz-2.6.33-020633rc1-generic root=UUID=(hd0,3) ro quiet splash
initrd /boot/initrd.img-2.6.33-020633rc1-generic
или
menuentry "linux" {
linux /boot/vmlinuz-2.6.33-020633rc1-generic root=UUID=/dev/sda3 ro quiet splash
initrd /boot/initrd.img-2.6.33-020633rc1-generic

Пользователь решил продолжить мысль 23 Март 2014, 01:12:29:
а что значит при обновлении grub.cfg заменится?
если версия grub изменится, то при обновлении системы он переписывается?
« Последнее редактирование: 23 Март 2014, 01:12:29 от rabamaster »

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: GRUB2 grub.cfg sba3 вместо UUID
« Ответ #3 : 23 Март 2014, 01:52:54 »
  • думаю что можно удалить, но лучше заменить на set root='(hd0,msdos3)'
  • или! только без =UUID : root=/dev/sda3
Когда обновляется ядро и/или модули ядра — записывается новая конфигурация GRUB'a (установщик сам выполняет sudo update-grub).
« Последнее редактирование: 23 Март 2014, 01:55:25 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.073 секунд. Запросов: 25.