Primeiramente, você precisa satisfazer as próximas condições, caso contrário, não há garantia de que funcionará, se, digamos, você tiver um computador com dois discos ou escolher o modo MBR:
- Ubuntu 16.04;
- A máquina tem apenas um disco;
- Você não precisa do conteúdo, pois todos os dados serão apagados;
- O modo UEFI é escolhido;
- A máquina está conectada à Internet por um fio. Caso contrário, ele seria instalado, mas sem drivers e atualizações.
Então:
-
Faça o download da imagem:
wget http://releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso
-
Extraia:
cd folder xorriso -osirrox on -indev ubuntu-16.04.3-desktop-amd64.iso -extract / custom-iso
-
Edite a configuração do GRUB, por exemplo com
nano
:sudo nano boot/grub/grub.cfg
e adicione o seguinte:
if loadfont /boot/grub/font.pf2 ; then set gfxmode=auto insmod efi_gop insmod efi_uga insmod gfxterm terminal_output gfxterm fi set menu_color_normal=white/black set menu_color_highlight=black/light-gray set default=0 set timeout=1 menuentry "Install Ubuntu" { set gfxpayload=keep linux /casper/vmlinuz.efi file=/cdrom/preseed/ks.seed auto=true priority=critical debian-installer/locale=ru_Ru keyboard-configuration/layoutcode=us ubiquity/reboot=true languagechooser/language-name=Russian countrychooser/shortlist=RU localechooser/supported-locales=ru_RU.UTF-8 boot=casper automatic-ubiquity initrd=/casper/initrd.lz quiet splash noprompt noshell --- initrd /casper/initrd.lz }
Preste atenção a parâmetros como locale, layoutcode, languagechooser e etc. e edite de forma correspondente.
-
Crie a configuração para o instalador do Ubuntu, por ex. com
nano
:sudo nano preseed/ks.seed
e adicione o seguinte:
ubiquity partman-auto/disk string /dev/sda ubiquity partman-auto/method string regular ubiquity partman-lvm/device_remove_lvm boolean true ubiquity partman-md/device_remove_md boolean true ubiquity partman-auto/choose_recipe select atomic d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true d-i partman-md/confirm_nooverwrite boolean true d-i partman-lvm/confirm_nooverwrite boolean true d-i partman-efi/non_efi_system boolean true d-i debian-installer/locale string ru_RU d-i console-setup/ask_detect boolean false d-i console-setup/layoutcode string us d-i netcfg/get_hostname string unassigned-hostname d-i netcfg/get_domain string unassigned-domain d-i netcfg/choose_interface select auto d-i clock-setup/utc-auto boolean true d-i clock-setup/utc boolean true d-i time/zone string Europe/Moscow d-i clock-setup/ntp boolean true d-i mirror/country string RU d-i apt-setup/multiverse boolean true d-i apt-setup/restricted boolean true d-i apt-setup/universe boolean true d-i passwd/user-fullname string User d-i passwd/username string user d-i passwd/user-password-crypted password sOlSUKAdMoT5M d-i passwd/user-default-groups string adm audio cdrom dip lpadmin sudo plugdev sambashare video d-i grub-installer/grub2_instead_of_grub_legacy boolean true d-i grub-installer/only_debian boolean true d-i finish-install/reboot_in_progress note ubiquity ubiquity/success_command \ string echo "auto enp0s3" >> /etc/network/interfaces; \ echo "iface enp0s3 inet dhcp" >> /etc/network/interfaces; \ ifup enp0s3; \ apt-get update -y; \ in-target apt-get install -y openssh-server;
A propósito, preste atenção a um fato não dito da Ubiquity. Exatamente antes de lançar a seção success_command , ela encerra as interfaces (divertido, certo?), Portanto, para instalar algo da Internet, é necessário configurar uma interface primeiro.
E esqueci de mencionar que a senha para o usuário aqui é 'qwerty123'. Eu recomendo strongmente mudá-lo depois.
-
Por fim, compile uma nova imagem:
sudo mkisofs -D -r -V "UNATTENDED_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/ubuntu/custom-http.iso ~/ubuntu/custom-iso/
E você é bom para ir.
Isso é tudo. Espero que o passo a passo ajudaria alguém. Agradecimentos especiais a Just_a_fake_account e aos outros do Fórum do Linux Mint , que ajudou para resolver o enigma.