Автоматическая установка Ubuntu с USB-накопителя - неправильно смонтирована
Я делаю автоматическую установку Ubuntu-14.04-сервера с USB-накопителем на серверах другого типа (HP Proliant ML110, ML310, ML350).
В некоторых случаях USB-накопитель неправильно установлен на /media вместо /cdrom, останавливая процесс установки с помощью следующего сообщения:
[Определить и смонтировать CD-ROM ]
Ваш установочный компакт-диск не может быть смонтирован. Это, вероятно, означает, что CD-ROM не был в приводе. Если это так, вы можете вставить его еще раз.
Мне удалось определить некоторые случаи, когда эта ошибка возникает:
- на ML110 и ML310: когда жесткий диск пуст
- на ML350 Gen9: даже если жесткий диск разделен.
Я думаю, что это исходит от debian-installer что на ранней стадии установки пытается смонтировать раздел с первого диска на /media, А затем монтирует USB-накопитель в /cdrom,
В вышеупомянутых случаях жесткий диск обнаруживается позже в процессе установки, делая USB-накопитель первым и, следовательно, устанавливая его на /media а не на /cdrom,
Для людей, для которых ручное вмешательство не является проблемой, я нашел обходной путь, который я опишу в ответе ниже. Но для автоматической установки это не решение.
Можем ли мы заставить установщик смонтировать USB-накопитель в определенном месте?
2 ответа
Для людей, для которых ручное вмешательство не является проблемой, вот простая процедура.
- Откройте другой терминал
tty2или жеtty3нажавalt+F2или жеalt+F3и нажмитеenter Отключите USB-накопитель от
/media:umount /media/Определите USB-накопитель
sdXв списке устройств (sda,sdb,sdc…)ls -l /sys/block/sd* | grep usbПодключите USB-накопитель к
/cdrommount /dev/sdX /cdromВернитесь к главному терминалу
tty1нажавalt+F1и нажмитеyesповторить попытку установки "CD-ROM".
Как уже упоминалось в вопросе, это обходной путь, который не является решением для автоматической установки.
Я столкнулся с той же проблемой и, наконец, по счастливой случайности натолкнулся на набор слайдов, которые позволили мне автоматизировать это, и было сопутствующее хранилище кода с полным файлом preseed. https://github.com/uweplonus/adia-install/blob/master/initrd/preseed.cfg#L3
Многие люди предлагают использовать preseed/early_command umount /media/* но это не сработало в течение достаточно долгого времени из-за того, что предварительная часть запускается по сравнению с разделением.
Правильный способ сделать это состоит в том, чтобы добавить следующее в любой файл preseed, на который ссылается команда загрузки.
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;