Установите начальную загрузку / на fat32 разделе

Действительно ли возможно установить GRUB на fat32 разделе во время установки Ubuntu 16.04?

Когда я пытаюсь сделать это во время установки, затем следующая ошибка печатается:

Тип файловой системы fat32 не может быть смонтирован на /boot, потому что это не полностью функциональная файловая система Unix. Выберите другую файловую систему, такую как ext2.

Мне нужен он для двойной загрузки (с Windows вместе), и я хочу отредактировать конфигурацию GRUB из Windows для изменения ОС по умолчанию на экране начальной загрузки без любых проблем с драйверами файловой системы в Windows.

Я уверенный это - общая задача.

Также я часто вижу GRUB на fat32 в некоторых примерах (загрузочная карта флэш-памяти с интерфейсом USB и т.д.), таким образом, я думаю, что возможно в принципе установить GRUB на fat32.

4
задан 20 July 2017 в 18:54

2 ответа

Из того, что Вы сказали, что хотите сделать, переупорядочить порядок загрузки по умолчанию, лучший механизм для этого должен перенумеровать/переименовать файлы в/etc/grub.d для помещения (Windows?) загружаются сначала (30_os-тестер к 06_os-тестеру, например). Затем личинка обновления перепишет grub.cfg путем, Вы хотите это и сохраните тот порядок на каждое обновление. Редактирование grub.cfg непосредственно не рекомендуется, потому что оно часто переписывается обновлениями ядра.

Теперь можно установить личинку на файловой системе FAT, но не во время установки Ubuntu. Я сделал это однажды, когда я вытер Windows MBR на диске и не имел никакого способа переустановить его, таким образом, я использовал личинку для загрузчика, помещая каталог начальной загрузки на маленький FAT инструменты или раздел Windows восстановления. Отметьте, который я не пробовал к двойной загрузке этой установкой, таким образом, я не должен был волноваться об обновлениях grub.cfg.


Не путайте, как установка Ubuntu ограничивает личинку тем, что личинка может сделать, если выполнено вручную. Установите Ubuntu на своем ext4, примите установку личинки по умолчанию (MBR и файлы личинки в/boot/grub). Запустите Ubuntu и смонтируйте Ваш FAT в/mnt (принимающий Ваше описание FAT во втором разделе):

sudo mount -tvfat /dev/sda2 /mnt 

Создайте каталог, там назвал начальную загрузку

sudo mkdir /mnt/boot 

Вручную установите личинку на разделе FAT:

sudo grub-install --boot-directory=/mnt

Ваша установка личинки теперь убегает файлы на Вашем разделе FAT, и можно отредактировать их из Windows. Не упустите любой "мусор" как редакторы Windows возвратов каретки, может поместить в Ваш grub.cfg файл (Ubuntu, и большинство unixes просто использует перевод строки в качестве разделителя строки). Обновления ядер однако заставят новую информацию о личинке быть помещенной в/boot/grub/grub.cfg, таким образом, необходимо будет отредактировать FAT grub.cfg, или скопировать новый grub.cfg в FAT и отредактировать его снова (или новое ядро не обнаружится в меню начальной загрузки).

3
ответ дан 1 December 2019 в 10:00

Ссылаясь на решение ubfan1s, вы можете навсегда смонтировать раздел FAT в /boot, чтобы обновления ядра и initrd попадали в нужное место, и вам не нужно ничего копировать самостоятельно.

Предполагая, что ваш раздел FAT называется /dev/sda2, выполните следующие команды, чтобы

  • переместить образы linux и initrd во временный каталог
  • добавить запись для вашего раздела FAT в /etc/fstab
  • смонтировать его и переместите файлы из временного каталога в FAT
  • Обновите файлы GRUB
  1. part=/dev/sda2
  2. sudo mkdir /boot_ && sudo mv /boot/* /boot_
  3. echo $(sudo blkid | grep $part | grep -Eo ' UUID="[[:alnum:]-]+"' | sed -E 's/[" ]//g') /boot auto nosuid,nodev,nofail 0 0 | sudo tee -a /etc/fstab
  4. sudo mount /boot && sudo mv /boot_/* /boot && sudo rm -r /boot_
  5. sudo grub-install ${part%[0-9]*} && sudo update-grub
1
ответ дан 9 December 2020 в 21:48

Другие вопросы по тегам:

Похожие вопросы: