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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Не могу загрузить систему после замены диска (grub-install ?).  (Прочитано 121775 раз)

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

Оффлайн xCubanoid

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Было: Диск с двумя разделами (efi и корень). Сделал на новом диске тоже самое.
Получилось
efi: /dev/sda1
Корень: /dev/sda2
Перенес файлы 1:1. Затем загружаюсь и live-usb и пробую установить grub
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot/efi/
grub-install  /dev/sda --target=x86_64-efi  --efi-directory=/mnt/boot/efi/ --boot-directory=/mnt/boot
Всё выполнилось без ошибок.
При загрузке получаю загрузочное меню GRUB а затем kernel panic Cannot open root device "sda2"...:

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3026
    • Просмотр профиля
Это не так просто.
Во-первых, /dev/sda должен быть последним аргументом.
Во-вторых, каталоги /proc, /sys, /dev, /run, /tmp загруженной системы должны быть
командой
mount --rbindпримонтированы на одноимённые каталоги примонтированной, например
mount --rbind /dev /mnt/devВ-третьих, надо изменить корневую систему командой chroot
chroot /mntи в ней вводить команду grub-install.
И, если все каталоги называются по умолчанию, не обязательно указывать
--boot-directory
Затем надо оттуда выйти по exit.
Пётр.

Оффлайн БТР

  • Заслуженный пользователь
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6161
    • Просмотр профиля
Cannot open root device "sda2"...:
Покажите конфиг grub. Что прописано в строке загрузки ядра - обозначение sda2 или UUID? Сравните реальный UUID и тот, который прописан в GRUB, а так же то, как определяются разделы (sda sdb и т.п.)

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Во-первых, /dev/sda должен быть последним аргументом.
Без разницы.

В-третьих, надо изменить корневую систему командой chroot
Тоже мимо. Явно указано --boot-directory=/mnt/boot
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн xCubanoid

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Это не так просто.
Сделал так:
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot/efi/
for i in /etc /dev /dev/pts /proc /sys /run /var /usr /lib /lib64 /bin /sbin; do sudo mount -B $i /mnt$i; done 
chroot /mnt
grub-install   --target=x86_64-efi  /dev/sda
exit
Результат точно такой же

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
xCubanoid, а что у вас на sda2?
покажите
lsblk
ls /mnt
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн xCubanoid

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Покажите конфиг grub.
Весь конфиг довольно объемный, но важна видимо вот эта часть (b8ace99a-265c-42a2-9162-af8ffe8e224c - это UUID /dev/sda2)
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-b8ace99a-265c-42a2-9162-af8ffe8e224c' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  b8ace99a-265c-42a2-9162-af8ffe8e224c
        else
          search --no-floppy --fs-uuid --set=root b8ace99a-265c-42a2-9162-af8ffe8e224c
        fi
        linux   /boot/vmlinuz-5.4.0-47-generic root=/dev/sda2 ro  quiet splash $vt_handoff
}


Пользователь добавил сообщение 16 Марта 2023, 22:21:28:
покажите

NAME                    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0                     7:0    0   1.8G  1 loop /rofs
sda                       8:0    0 223.6G  0 disk
├─sda1                    8:1    0   1.9G  0 part /mnt/boot/efi
└─sda2                    8:2    0 221.7G  0 part /mnt
sdb                       8:16   0   5.5T  0 disk
└─MyVolGroup-cryptodata 253:0    0   5.5T  0 lvm 
sdc                       8:32   1  28.7G  0 disk /media/mint/0cb91275-e208-4b20-b60c-725922f94a22
sdd                       8:48   0   5.5T  0 disk
sde                       8:64   1  30.2G  0 disk /cdrom
├─sde1                    8:65   1   1.9G  0 part
└─sde2                    8:66   1   2.4M  0 part
sdf                       8:80   0   7.3T  0 disk


ls /mnt/
bin   BootInfo  dbs  emptydir  home  lib64       media  mosquitto  private  root  sbin  srv  tmp  var      vmlinuz.old
boot  boot-sav  dev  etc       lib   lost+found  mnt    opt        proc     run   snap  sys  usr  vmlinuz  webmin-setup.out

Пользователь добавил сообщение 16 Марта 2023, 22:26:29:
так же то, как определяются разделы
Я не знаю как посмотреть как определяются разделы во время загрузки с диска. При загрузке с live-USB  всё со всем совпадает. Может ли быть такое что оно по другому определяется при загрузке с диска? И как это проверить?
« Последнее редактирование: 16 Марта 2023, 22:26:29 от xCubanoid »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3026
    • Просмотр профиля
ALiEN175, а я думаю, что обязательно делать chroot,
чтобы grub-install вызывался из той файловой системы,
на диск с которой устанавливается grub.
Так гарантированно сработает и всё найдётся.
Пётр.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
ALiEN175, а я думаю, что обязательно делать chroot,
абсолютно не обязательно.
Цитировать
  --boot-directory=DIR
              install  GRUB images under the directory DIR/grub instead of the
              /boot/grub directory
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3026
    • Просмотр профиля
xCubanoid, при успешном выполнении должно быть сообщение,
что grub установился без ошибок.
Я как раз сегодня выполнял эту процедуру именно, как я описал.


Пользователь добавил сообщение 16 Марта 2023, 23:17:37:
ALiEN175, так я читал эти строки, но я же сказал, что с chroot команда
гарантированно выполнится, т.к. там есть все необходимые файлы,
а в загруженной системе я не уверен, что они всегда есть.


« Последнее редактирование: 16 Марта 2023, 23:34:58 от Peter_I »
Пётр.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
что grub установился без ошибок.
Кстати да, после grub-install должен быть выхлоп "No errors reported" или похожее.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3026
    • Просмотр профиля
ALiEN175, а если grub установился без ошибок, но также было сообщение
EFI variables are not supported in this system.
Я сегодня перестанавливал grub на один и тот же SSD, разбитых в GPT,
и на одном компюьтере этого сообщения не было и система с SSD загружается,
а на другом было и на том компьютере не загружатется, там возникает приглашение grub
и команда ls не может даже прочитать содержимое раздела в FAT32 с каталгом EFI,
пишет, что неизвестная система.
На том компьютере
UEFI 2.3.1
похоже, он не может работать с GPT.
Пётр.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Начнем танцевать от печки.
Что за компьютер? Что за система?

Цитировать
Было: Диск с двумя разделами (efi и корень). Сделал на новом диске тоже самое.
Не тоже. УУИД-ы другие. Тоже было-бы если склонировал. Тогда были-бы не нужны другие "танцы".

Цитировать
пробую установить grub
Для ЕФИ-режима груб устанавливается простым копированием файлов. Просто скопируй содержимое sda1.

Цитировать
Может ли быть такое что оно по другому определяется при загрузке с диска?
Может. Всегда, когда дисков более одного (а у тебя их что-то вообще много), каждую загрузку канонические имена могут распределяться случайным образом.

Переходим к конфигу груба.
Цитировать
search --no-floppy --fs-uuid --set=root b8ace99a-265c-42a2-9162-af8ffe8e224c
Это УУИД какого раздела? С этого раздела загрузчик пытается загрузить ядро.

Цитировать
linux   /boot/vmlinuz-5.4.0-47-generic root=/dev/sda2 ro  quiet splash $vt_handoff
Параметр ядра "root" - здесь ядро будет искать систему. Выше уже писал, что в данный конкретный раз окажется на месте sda2 - зависит от расположения звезд.
А где строка с инитрд?


Пользователь добавил сообщение 17 Марта 2023, 06:04:38:
...UEFI 2.3.1
похоже, он не может работать с GPT.
Все может быть. Не удивлюсь, если УЕФИ вдруг перестанет понимать MBR, но GPT для него самое родное.

...там возникает приглашение grub
Какое именно, "grub" или "grub rescue"?

...было сообщение
EFI variables are not supported in this system.
Система в легаси-режиме.
« Последнее редактирование: 17 Марта 2023, 07:28:21 от andytux »

Оффлайн xCubanoid

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Кстати да, после grub-install должен быть выхлоп "No errors reported" или похожее.
Так и есть
grub-install   --target=x86_64-efi  /dev/sda
Installing for x86_64-efi platform.
Installation finished. No error reported.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
И сколько еще ты будешь перетрахивать груб.
На твоем скриншоте, уже идет загрузка системы, груб свое дело выполнил.

 

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