Удаление запроса на отключение дисков раздела во время автоматической установки Ubuntu

Я пытаюсь создать полностью автоматическую установку Ubuntu и удалил почти все возможные подсказки из процесса установки. Единственный оставшийся запрос - это тот, который показан в тексте ниже, который предлагает мне отключить смонтированные разделы. Раздражает то, что для меня не имеет значения, выберу я «да» или «нет», поэтому весь запрос не имеет смысла для моего приложения. Кроме того, ничего из того, что я пробовал, не мешало появлению этой подсказки. Есть ли у кого-нибудь какие-либо предложения относительно того, как я могу предотвратить повторение этой подсказки?

Установщик обнаружил, что на следующих дисках смонтированы разделы:

/ dev / sda

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

Размонтировать используемые разделы?

3
задан 4 September 2017 в 16:06

3 ответа

У меня нет многого ни к какому опыту об изменении установки Ubuntu.

Но самое самое легкое (и возможно самый безопасный) вещь было бы к автоматически umount каждый /dev/sdXY это в настоящее время монтируется, кроме того с точкой монтирования в /. Я создал следующую команду удара:

umount LC_ALL=en_US.UTF8 mount | grep -P '^/dev/sd' | grep -v 'on / type' | awk '{print $1}'


Чтобы объяснить, как это работает, я разделю его, управляют командой:

  • LC_ALL=en_US.UTF8 mount перечисляет в настоящее время подсоединенные внешние диски в следующем формате, вызывая английскую локаль:

    /dev/devicefile on mountpoint type filesystem (mount options)
    

    например.

    /dev/sda2 on / type ext4 (rw,errors=remount-ro)
    proc on /proc type proc (rw,noexec,nosuid,nodev)
    sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
    
  • | grep -P '^/dev/sd' перечисляет в настоящее время монтируемый созданный и проводит каждую строку от него, которая запускается с /dev/sd, т.е. фильтрация для каждого твердого дискового устройства.

  • | grep -v 'on / type' удаляет живой системный корневой раздел из того выбора, таким образом, Вы не размонтируете сам установщик ;)

  • awk '{print $1}' Разделяет одни строки с помощью любого пробела в качестве разделителя и возвращает первый элемент строки разделения, которая является udev файлом устройств, таким образом, вывод будет выглядеть примерно так:

    /dev/sda1
    /dev/sdb1
    

Этот вывод наконец передается umount (должен быть выполнен как корень), который размонтировал те разделы, позволяя безопасную установку без подсказки.

1
ответ дан 4 September 2017 в 16:06

Это подобно ходу мыслей из другого ответа, но с полным протестированным примером кода.

я сталкивался с той же проблемой, и наконец удачей случайно встретил ряд слайдов, которые позволили мне автоматизировать это и был сопроводительный репозиторий кода с полным файлом перед семенем. https://github.com/uweplonus/adia-install/blob/master/initrd/preseed.cfg#L3

Многие люди предлагают использовать preseed/early_command umount /media/*, но это не работало в течение достаточно долгого времени из-за синхронизации того, когда часть перед семенем работает по сравнению с разделением.

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

d-i partman/early_command string \ USBDEV=$(list-devices usb-partition | sed "s/\(.*\)./\1/");\ BOOTDEV=$(list-devices disk | grep -v "$USBDEV" | head -1);\ debconf-set partman-auto/disk $BOOTDEV;\ debconf-set grub-installer/bootdev $BOOTDEV; \ umount /media;

0
ответ дан 5 September 2017 в 02:06
  • 1
    спасибо, но какое-либо обходное решение без какого-либо нового менеджера? – gtzinos 10 November 2017 в 09:34

Не имейте достаточной репутации, чтобы прокомментировать, иметь для регистрации его здесь. Решение Dragon788 работало на меня хорошо, пока я не попробовал его на пустом жестком диске. Это дало мне ошибку и и ожидало входа, таким образом, это не было полностью необслуживаемым. Возможно, существует иначе, но это помогло мне:

umount /media || true; вместо umount /media; подавлять ошибку.

1
ответ дан 1 December 2019 в 15:57

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

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