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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Grub не может найти btrfs устройство  (Прочитано 1988 раз)

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

Оффлайн kotnaton

  • Автор темы
  • Участник
  • *
  • Сообщений: 149
    • Просмотр профиля
Grub не может найти btrfs устройство
« : 16 Марта 2021, 03:40:33 »
Попытался перенести Ubuntu 20.04 с раздела ext4 на раздел btrfs, для этого упаковал файлы с исходной ФС в tar , и распаковал их на диске имеющим два первичных раздела: sda1 (500mb для boot, ext4) и sda2 в btrfs, имеющий два подтома @ и @home. Короче говоря, update-grub (а потом и grub-mkconfig) стали показывать ошибки:
Цитировать
Unknown device "/dev/sda1": No such device

И grub-mkconfig, в конце-концов, выдаёт такую ерунду:
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-7b0d46f8-92a0-454c-a42b-9a8d55343c2e' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  971fad14-056e-4434-b383-4eb0d6c68db1
else
  search --no-floppy --fs-uuid --set=root 971fad14-056e-4434-b383-4eb0d6c68db1
fi
linux /vmlinuz-5.8.0-41-generic root=UUID=7b0d46f8-92a0-454c-a42b-9a8d55343c2e ro rootflags=subvol=@  quiet splash $vt_handoff
initrd /initrd.img-5.8.0-41-generic
}

uuid-ы sda1 и sda2 такие:
/dev/sda1: LABEL="boot" UUID="971fad14-056e-4434-b383-4eb0d6c68db1" TYPE="ext4"
/dev/sda2: LABEL="sys" UUID="7b0d46f8-92a0-454c-a42b-9a8d55343c2e" UUID_SUB="2b6993aa-4d25-4fc0-b77a-c349bb359fe1" TYPE="btrfs"

Странность ещё и в том, что ядро и его загрузчик, с точки зрения конфига, должны находиться в корне (видимо, на btrfs), хотя и находятся они, как и полагается, в /boot/ на /dev/sda1, но загрузчик стартует но до загрузки ядра, по вышеизложенной в заголовке темы причине, не доходит, останавливается на initramfs. Попытка запустить загрузчик из /boot/ даёт ошибку "not found"

Что это такое, и как это чинить ?
« Последнее редактирование: 16 Марта 2021, 05:45:54 от kotnaton »
Проверяйте скачанные iso-шники командой: md5sum -c MD5SUMS.txt

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #1 : 16 Марта 2021, 06:01:20 »
"Не было печали - купила баба порося."
Все, касающееся загрузки, начинать с ответа на три вопроса.
На компьютере БИОС или УЕФИ?
Если УЕФИ, то в каком режиме: ЕФИ или легаси?
Если в режиме ЕФИ, то в каком положении "secure boot"?
Далее, тебе действительно нужен раздел боот или следующая тема будет: "нет места на разделе".
Цитировать
находятся они, как и полагается, в /boot
В конфиге нужно указывать реальное местонахождение ядра.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #2 : 16 Марта 2021, 08:59:38 »
Система должна стоять в EFI.
Соответственно, /boot не нужен, нужен раздел EFI.
Тогда только можно делать update-grub с btrfs.

Пользователь добавил сообщение 16 Марта 2021, 09:04:18:
P.S.
Сам переносил систему с ext3 на btrfs, но не ставил себе самоцель записать все шаги.
Так что только вчерне:
1. Убедиться, что система стоит в EFI. Если нет - проще переустановить полностью, чем мучаться с переразбиением диска и установкой grub-efi.
2. Скопировать через cp --backup старый корень в новый btrfs subvolume.
3. chroot в новый корень и grub-install --recheck --no-floppy /dev/где-там-btrfs

При этом корень уже должен быть отмечен как дефолный subvolume.
« Последнее редактирование: 16 Марта 2021, 09:04:18 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kotnaton

  • Автор темы
  • Участник
  • *
  • Сообщений: 149
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #3 : 16 Марта 2021, 18:22:39 »
Думал, что очевидно же - BIOS, но, наверное, потому что ни EFI, ни с UEFI никогда дела не имел.

Когда ставил Ubuntu, я доверил инсталлятору создать разметку диска заново, и он создал, по умолчанию поставив GPT, потом пришлось конвертировать в MBR, может быть, с этим как-то связано ? Ни с Archlinux, ни с Fedora таких проблем не возникало, у меня есть живые слепки с этими системами, которые можно развернуть хоть сейчас :(
Проверяйте скачанные iso-шники командой: md5sum -c MD5SUMS.txt

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #4 : 16 Марта 2021, 18:44:26 »
"Павлины, говоришь..."
Цитировать
очевидно же - BIOS
Это значит - компьютеру больше десяти лет. Тогда, очевидно, нужно установить загрузчик. Куда ты его хочешь установить?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #5 : 16 Марта 2021, 18:51:43 »
kotnaton, sudo fdisk -l
🖥 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

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #6 : 16 Марта 2021, 23:33:55 »
по умолчанию поставив GPT, потом пришлось конвертировать в MBR,
На…зачем? Секса в жизни нехватило?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #7 : 24 Марта 2021, 13:58:33 »
по умолчанию поставив GPT, потом пришлось конвертировать в MBR,
Продолжу фразу Анра: BIOS GPT разметку не понимает от слова совсем. Это первое. Второе, раскидывал свою систему на другие ноуты (но так как ставить было лень из-за скорости работы их) со своего винта - и проблем никогда не возникало, от слова совсем
P.S. Я тут стесняюсь спросить, а где insmod btrfs. Ну и сам initramfs вы вообще пересобирали? И еще бы свой fstab показали.
P.P.S. Я еще ходят слухи (уже лет так 5), что /boot делать надо или 1ГиБ или не делать отдельно вовсе, если у вас не RAID/шифрованая LVM
« Последнее редактирование: 24 Марта 2021, 14:05:19 от EvangelionDeath »
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #8 : 24 Марта 2021, 14:10:48 »
Зачем BIOS, если есть EFI?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1772
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #9 : 24 Марта 2021, 14:49:17 »
Всё время путаницу наводите.... Биос общее понятие, UEFI тоже Биос, только расширенный. Поэтому Биос может быть старым без режима UEFI, и новым... или только UEFI (редко) или совместным UEFI+Legacy. От того, что он поддерживает режим UEFI, он не перестаёт быть Биосом. Вопросы типа какой у тебя Биос UEFI или старый не корректны. Вопрос должен звучать так... Биос поддерживает UEFI или он старый только Legacy ? Биос = (Basic Input/Output System) — базовая система ввода/вывода присутствует на любом компе.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #10 : 24 Марта 2021, 15:04:59 »
vladimirzhuravlev, ты удивишься, но мы знаем, что (U)EFI - тоже BIOS. Но новичкам проще объяснять, когда есть чёткое различие.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #11 : 24 Марта 2021, 15:58:56 »
vladimirzhuravlev, BIOS - Basic Input-Output System. И ты удивишься, что ранее на ПК и операционки то и не было, за все отвечал BIOS и то, с чем и как он мог взаимодействовать. И если проэцировать на то, что было БИОС, а что ОС, так УЕФИ (увы, ЕФИ имеет куда скромнее возможности), это что БИОС + та операционка + куча ништяков в виде поддержки мыши\браузера (да-да, некоторые умеют, а соответственно умеют и настройки сети по DHCP получать). Ну это реально, что сравнивать лошадь и автомобиль: делают то же самое: перевозят людей - отвечают за базовый интерфейс, но есть нюансы)
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1772
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #12 : 24 Марта 2021, 16:09:15 »
Но новичкам проще объяснять, когда есть чёткое различие
А я вижу, что они впадают в ступор после того, как их спрашивают у тебя Биос или UEFI, вместо вопроса Биос поддерживает UEFI или  старый, без него. Они наивно полагают, что Биос у них есть (и правильно делают), а вот какого он типа и нужно посмотреть зайдя в настройки Биос-а. Не найдут упоминания о UEFI, значит старый. Есть опция переключения UEFI + Legacy значит новый. Третий тип Биос только UEFI, с которым вообще не загрузится в Legacy режиме (но такой тип встречается довольно редко).

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #13 : 24 Марта 2021, 16:20:18 »
А я вижу, что они впадают в ступор после того, как их спрашивают у тебя Биос или UEFI, вместо вопроса Биос поддерживает UEFI или  старый, без него. Они наивно полагают, что Биос у них есть (и правильно делают), а вот какого он типа и нужно посмотреть зайдя в настройки Биос-а. Не найдут упоминания о UEFI, значит старый. Есть опция переключения UEFI + Legacy значит новый. Третий тип Биос только UEFI, с которым вообще не загрузится в Legacy режиме (но такой тип встречается довольно редко).
Серьезно? Можно две? К сожадению скрин сделать не смогу со своего EFI, но у меня там нет никакого переключения и грузится при этом в обоих режимах зависимо только от разметки и наличия ESP раздела на девайсе, у меня ноут загружал и окошки в VHMI со съемного винта, и FreeBSD с диска (в USB кармане), который вообще был ранее в рейде и стоял на сервере, что любую другую ОС (если что я еще поставил еще и EFI Shell ибо родной в прошивке нет, что бы грузится с поддержкой EFI режима без наличия boot флага с любого девайса (да, карты памяти он нагло игнорит в кард приводе)).
Как такое возможно? Да просто, многие вендоры просто плевали на спецификации (которые прямо говорят: в случае повреждения NVRam (U)EFI должна быть восстановлена с резервного источника, то есть (U)EFI изменяема, но есть еще и резерв, что вшит намертво).
« Последнее редактирование: 24 Марта 2021, 16:28:15 от EvangelionDeath »
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1772
    • Просмотр профиля
Re: Grub не может найти btrfs устройство
« Ответ #14 : 25 Марта 2021, 17:19:00 »
но у меня там нет никакого переключения и грузится при этом в обоих режимах
А тут в этой теме именно твой Биос не при делах и они (Биос) у всех очень разные.

 

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