Как настроить preseed-файл в Debian, чтобы настроить конфигурацию grub для исправления диска

542
Artur Korobeynyk

У меня есть несколько компьютеров с двумя дисками (один ssd, другой hdd). Я создал preseed-файл для автоматического развертывания, который отлично работает, за исключением части с разделением. Пока это делается вручную, но даже в этом случае grub не работает при следующей загрузке.

Дело в том, что когда я загружаюсь с USB-флешки, сама флешка становится sda-устройством в процессе установки, поэтому я помещаю grub в MBR SDB (который является SSD-диском). Но после завершения установки и удаления USB-накопителя SSD-диск становится sda, и конфигурация grub не работает, поэтому мне приходится вручную редактировать конфигурацию grub, чтобы иметь возможность загружаться с sda, затем загружаться в систему, изменять файл конфигурации постоянного grub, обновите grub, чтобы в следующий раз машина загрузилась. Как решить эту проблему?

Как сделать preseed:

  1. Поместите все на SSD (это основной диск), автоматически разбейте его на разделы без создания тома подкачки, вставьте grub в него.
  2. Отформатируйте HDD как ntfs и смонтируйте его.
  3. Все должно работать после перезагрузки без ручной настройки конфига grub.
1
Сейчас я пытаюсь сделать вещи, используя строку `di preseed / late_command \ in-target sed -i 's / root \ = \ / dev \ / sdb1 / root \ = \ / dev \ / sda1 / g' /boot/grub/grub.cfg; \ in-target update-grub; `, но эта команда не выполняется во время установки Artur Korobeynyk 6 лет назад 0
Я также попробовал: `di preseed / late_command string sed -i 's / root \ = \ / dev \ / sdb1 / root \ = \ / dev \ / sda1 / g' /target/boot/grub/grub.cfg ; in-target bash -c 'update-grub'; `Также не работает Artur Korobeynyk 6 лет назад 0
Монтирование / dev / sda1 в initramfs и проверка файлов показывает, что все эти файлы не были обновлены. Я также попытался отредактировать / etc / default / grub с помощью `in-target sed -i '# ^ \ (GRUB_CMDLINE_LINUX_DEFAULT =" quiet \) "$ # \ 1 root = / dev / sda1" #' / etc / default / grub ` Artur Korobeynyk 6 лет назад 0

1 ответ на вопрос

0
Artur Korobeynyk

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

Итак, мой предварительный шаг:

d-i preseed/late_command string \ in-target sed -i 's#^\(GRUB_CMDLINE_LINUX_DEFAULT="quiet\)"$#\1 root=/dev/sda1"#' /etc/default/grub \ in-target grub-mkconfig -o /boot/grub/grub.cfg ; \ in-target sed -i 's/root\=\/dev\/sdb1/root\=\/dev\/sda1/g' /boot/grub/grub.cfg ; 

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