GRUB после преобразования в btrfs

Во-первых, да, я действительно подозревал, что изменение моей файловой системы с ext4 на btrfs приведет к поломке GRUB и fstab.

Теперь, вот что произошло. Я легко конвертировал файловую систему в btrfs и это сработало отлично. Теперь я не могу загрузиться, так как получаю «Ошибка GRUB: неизвестная файловая система». Как я могу исправить GRUB и fstab для обновления с новой файловой системой?

  • Btrfs: ОГРОМНЫЕ метаданные выделены
  • Как восстановить файлы на разделе btrfs?
  • Partclone.btrfs тысячи исправляемых ошибок csum
  • Как узнать размер сжатых / несжатых файлов на btrfs?
  • Btrfs RAID1 SSD + без SSD
  • Что такое кэширование дискового пространства Btrfs?
  • Clonezilla диск для клонирования диска на двойной загрузке ubuntu karmic & XP setup - невозможно открыть '/boot/grub/device.map'
  • Как автоматически загрузиться из дистрибутива Linux в Windows?
  • Как создать загрузочный USB-накопитель с GRUB с разделом данных, Win аварийным диском и System Rescue CD
  • 3 раздела, клонирование на больший диск; Сохранить GRUB?
  • Как исправить ошибку «BOOTMGR IS MISSING»?
  • Grub2 не может загружать Windows 7 с ошибкой «недопустимая подпись»
  • One Solution collect form web for “GRUB после преобразования в btrfs”

    Это долгий и странный процесс, но он работает.

    Часть первая: Создание раздела загрузки BIOS.

    Первая проблема заключалась в том, что я использую таблицу разделов GPT. Просто потому, что вы можете установить Linux и загрузиться с ним, это не значит, что GRUB работает нормально. Я бы предположил, что если бы я мог загрузиться ранее, тогда все будет в порядке, но это не совсем так. Создайте неформатированный раздел с bios_boot флагом bios_boot . Лучший способ сделать это – прямо сейчас с самого начала, прежде чем устанавливать что-либо на свой жесткий диск, но он по-прежнему будет работать, если вам нужно это сделать позже, хотя у вас будет странный раздел в конце вашего диска , Мне нравятся странные вещи в начале диска. В любом случае, вот что вам нужно сделать.

    Из-за того, что GPT в 1 000 000 раз эффективнее и интеллектуальнее (и все же так или иначе менее поддерживается), чем MBR, на диске для установки GRUB нет свободного места. Обычно GRUB устанавливается в начале раздела между разделами из-за того, что MBR требует пробела после него. Weird? В целом, но так оно и есть. Давайте начнем.

    Во-первых, убедитесь, что у вас есть правильный диск . Не продолжайте, пока вы не узнаете, что /dev/sdX – это тот диск, который вы так думаете. Теперь, когда вы сделали свою должную осмотрительность, сделайте это снова. Три раза, просто чтобы быть уверенным. Хорошо, давайте двигаться дальше.

    Теперь установите parted ( # apt-get install parted ) и запустите его с помощью таргетинга на ваш диск:

     $ sudo parted /dev/sdX 

    Если вы еще этого не сделали, установите метку загрузочной записи в GPT:

     (parted) mklabel gpt 

    Затем создайте раздел для загрузки BIOS. Я кладу шахту в начале диска, так вот, как выглядит мой вид:

     (parted) mkpart primary 0MB 1MB 

    Вы должны изменить приведенные выше цифры, чтобы рассказать раздельно, где вы хотите, чтобы раздел запускался и останавливался , соответственно.

    Теперь давайте установим флаг в этом разделе. Возможно, вы захотите запустить команду print в разделе, чтобы получить номер раздела. В моем случае это 1 так как это будет первый раздел, так вот как мы установили на нем флаг:

     (parted) set 1 bios_grub on 

    Хорошо, теперь, когда вы создали этот раздел, мы закончили с этой частью. Если вы хотите, вы можете создать свой фактический раздел файловой системы, выполнив следующие действия:

     (parted) mkpart primary 1MB 1TB 

    Выполняйте только приведенную выше команду, если это то, что вы действительно хотите сделать, и вы еще ничего не установили. Если у вас есть система borked, не создавайте другой раздел.

    Часть вторая: Фиксация GRUB

    Теперь вам нужно исправить GRUB и fstab. Сначала мы займемся fstab. Загрузите Live CD и установите файловую систему на /mnt на Live CD.

     $ sudo mount /dev/sda /mnt 

    Теперь, получите UUID для вашего жесткого диска, используя команду blkid :

     $ sudo blkid /dev/sda1 UUID="abcdef-1231241241-12124124-12ae21331" 

    Возьмите UUID, и мы обновим его /etc/fstab . Откройте /etc/fstab и обновите UUID новым, который вы только что получили от blkid . Убедитесь, что вы также заменили ext4 на btrfs , теперь, когда вы изменили тип вашей файловой системы. Ищите строку, в которой есть / в ней, это ваш корневой раздел, это тот, который вы хотите настроить. Отлично.

    Теперь давайте обновим grub.

     $ sudo grub-install --root-directory=/mnt /dev/sda 

    Grub будет обновлять и устанавливать на жесткий диск. Круто. Следующим шагом будет обновление ваших конфигурационных файлов GRUB. Давайте привяжем некоторые системные разделы в /mnt :

     $ sudo mount --bind /dev /mnt/dev $ sudo mount --bind /sys /mnt/sys $ sudo mount --bind /proc /mnt/proc 

    Теперь давайте займемся вашей файловой системой.

     $ sudo chroot /mnt 

    Это позволит эффективно зарегистрировать вас в вашей файловой системе, как если бы ваш компьютер ее запускал. Затем обновите grub.

     $ sudo update-grub2 

    Надеюсь, он с радостью отбросит и обновит все. Круто. Теперь вернитесь к своей жизни и создайте резервные копии ваших изменений. Учись на своих ошибках.

    Давайте будем гением компьютера.