Предварительно отобранная сетевая установка перезаписывает диск установки USB

Позвольте мне предоставить столько информации, сколько я могу о том, что я делаю:

Я работаю в среде разработки лаборатории, управляющей более чем 100 системами сервера. Мы часто должны повторно отображать системы с различными операционными системами и используем CloneZilla, чтобы сделать это быстрое и легкое. CloneZilla установлен на Карте памяти и grub.cfg файл, настроенный для запуска различных установщиков ОС. Одной из операционных систем (как можно предположить) является Ubuntu (и 14.04 и 16.04). Это настроено, чтобы загрузить сетевой установщик Ubuntu и загрузить предварительно отбирать/запускать файл из локального веб-сервера:

#Generated by Kickstart Configurator
#platform=AMD64 or Intel EM64T

#System language
lang en_US
#Language modules to install
langsupport en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone --utc America/Los_Angeles
#Root password
rootpw --disabled
#Initial user
user lab --fullname "Lab" --iscrypted --password $1$XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use Web installation
url --url http://ubuntu.osuosl.org/ubuntu
preseed mirror/http/proxy string "http://proxy.corp.com:123"
#System bootloader configuration
#bootloader --location=mbr 
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel 
#System authorization infomation
auth  --useshadow  --enablemd5 
#Network information
network --bootproto=dhcp 
#Firewall configuration
firewall --disabled 
#Do not configure the X Window System
skipx

#preseed functions
preseed base-installer/kernel/image string linux-image-generic
preseed base-installer/kernel/override-image string linux-image-generic
preseed clock-setup/ntp-server string pool.ntp.org
preseed partman-auto/choose_recipe select atomic
preseed partman-auto/disk string /dev/sda
preseed partman-auto/method string regular
preseed partman/choose_partition select finish
preseed partman/confirm boolean true
preseed partman/confirm_nooverwrite boolean true
preseed partman/default_filesystem string ext4
preseed partman-lvm/confirm boolean true
preseed partman-lvm/device_remove_lvm boolean true
preseed partman-md/confirm boolean true
preseed partman-md/device_remove_md boolean true
preseed partman-partitioning/choose_label string gpt
preseed partman-partitioning/confirm_write_new_label boolean true
preseed partman-efi/non_efi_system boolean true
preseed pkgsel/update-policy select unattended-upgrades
preseed grub-installer/only_debian boolean true
preseed grub-installer/with_other_os boolean true
preseed netcfg/get_hostname string hostname
preseed netcfg/get_domain string domain

# auto method must be lvm
preseed partman-basicfilesystems/choose_label string gpt
preseed partman-basicfilesystems/default_label string gpt
preseed partman-partitioning/default_label string gpt
preseed partman/choose_label string gpt
preseed partman/default_label string gpt
preseed partman-auto/text/boot-root-all :: \
1 1 1 free \
$gptonly{ } \
$primary{ } \
$bios_boot{ } \
method{ biosgrub } \
. \
512 100 512 vfat \
$gptonly{ } \
$primary{ } \
method{ efi } \
format{ } \
$lvmignore{ } \
mountpoint{ /boot/efi } \
.\
128 512 256 ext2 \
$defaultignore{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext2 } \
mountpoint{ /boot } \
. \
1024 4096 -1 ext4 \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
.

preseed partman-auto/choose_recipe select boot-root-all
# This makes partman automatically partition without confirmation, provided
# that you told it what to do using one of the methods above.
preseed partman-partitioning/confirm_write_new_label boolean true
preseed partman/choose_partition select finish
preseed partman-md/confirm boolean true
preseed partman/confirm boolean true
preseed partman/confirm_nooverwrite boolean true

# This is fairly safe to set, it makes grub install automatically to the MBR
# if no other operating system is detected on the machine.
preseed grub-installer/only_debian boolean true
preseed grub-installer/with_other_os boolean true
preseed grub-installer/bootdev string /dev/sda

#addtional packages
%packages --resolvedeps
openssh-server
libvirt-bin
vim
libpam-systemd
dbus
bash-completion

Это - предварительно отбирать/запускать файл для Ubuntu 16.04 (с некоторой информацией об идентификации, разделенной).

Сетевой установщик успешно загружает и начинает автоматизированный процесс установки. Однако вместо того, чтобы установить на локальном жестком диске или SSD, это устанавливает на диске установки USB и перезаписывает изображение CloneZilla.

Другие операционные системы установлены прекрасные через CloneZilla с помощью их собственных локальных или сетевых установщиков. Это, кажется, просто Ubuntu, имеющая проблему.

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

Я искал partman документация в надежде на нахождение параметра конфигурации сказать установщику игнорировать исходное устройство хранения данных, но я предполагаю, так как это - сетевая установка нет никакого способа сделать это?

Кто-либо знает о предварительно отбирать/запускать параметре конфигурации, который решил бы эту проблему?

2
задан 17 March 2018 в 02:08

1 ответ

Проблема, кажется, что Вы обстоятельно объясняете:

preseed partman-auto/disk string /dev/sda

И USB определяется как /dev/sda.

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

1
ответ дан 2 December 2019 в 04:45

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

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