Автоматическая установка 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-накопитель к
/cdrom
mount /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;