# Задания # 1. BIOS Установите в машину `studX-bios` две операционные системы. Перед началом проверьте вкладку `Hardware` в Proxmox. В качестве `BIOS` должен быть выбран `SeaBIOS`. В наличии должно быть два диска `scsi0` и `scsi1`. Сетевой интерфейс должен быть `vmbrX`, а ip адреса из сети `192.168.0.0/24` (та же сеть, что и в занятиях 03 и 12 первого модуля) для доступа к сети интернет через шлюз `192.168.0.1`. Настройка сети не обязательна, кроме последнего задания. Сначала установите Debian из образа `debian-12.1.0-amd64-netinst.iso` на диск `scsi0`. Затем установите Ubuntu Server (minimized) на второй диск `scsi1` `ubuntu-22.04.3-live-server-amd64.iso`. При установке Ubuntu выберите ручную разметку диска (3ий пункт `Something Else`). Создайте на неразмеченном диске следующие разделы: - `Reserved BIOS boot area` размером 1MB, - `Ext4 journaling file system` размером 512MB с точкой монтирования `/boot`, - `swap area` размером 1024MB, - `Ext4 journaling file system` размером оставшегося свободного пространства с точкой монтирования `/`. Установите GRUB на тот диск, для которого вы произвели разметку. Игнорируйте предупреждение, об отсутствии `EFI` раздела. В Proxmox изменить порядок загрузки, в отличие от реального железа, возможно во вкладке виртуальной машины `Options`. В реальном железе в подобное меню можно зайти при старте машины по специальной клавише, заданной производителем материнской платы, например: `Del`, `F12`. ### 1.1 BIOS Перезагрузите машину. Какая ОС загружается по умолчанию? Загрузите Debian с помощью выбора в GRUB меню. Посмотрите на выдачу следующих команд: ``` # lsblk # fdisk -l /dev/sda # fdisk -l /dev/sdb ``` Загрузите Ubuntu и также проверьте эти команды. Изучите директорию `/boot/`. ### 1.2 BIOS Теперь загрузите Debian и Ubuntu, но с помощью выбора в меню BIOS диска для загрузки `scsi0` и `scsi1`. В меню можно попасть при загрузке машины по клавише `Esc`. ### 1.3 BIOS Поменяйте порядок дисков загрузки в BIOS. # 2. UEFI Установите в машину `studX-uefi` две операционные системы. Перед началом проверьте вкладку `Hardware` в Proxmox. В качестве `BIOS` должен быть выбран `OVMF (UEFI)`. В наличии должно быть два диска `scsi0` и `scsi1`. Сначала установите Debian из образа `debian-12.1.0-amd64-netinst.iso` на диск `scsi0`. Затем установите Ubuntu Server (minimized) на второй диск `scsi1` `ubuntu-22.04.3-live-server-amd64.iso`. При установке Ubuntu выберите ручную разметку диска (3ий пункт `Something Else`). Создайте на неразмеченном диске следующие разделы: - `swap area` размером 1024MB, - `Ext4 journaling file system` размером оставшегося свободного пространства с точкой монтирования `/`. Установите GRUB на тот диск, для которого вы произвели разметку. ### 2.1 UEFI Перезагрузите машину. Какая ОС загружается по умолчанию? Загрузите Debian с помощью выбора в GRUB меню. Посмотрите на выдачу следующих команд: ``` # lsblk # fdisk -l /dev/sda # fdisk -l /dev/sdb ``` Загрузите Ubuntu и также проверьте эти команды. Изучите директорию `/boot/efi/`. ### 2.2 UEFI Поменяйте порядок загрузки в UEFI графической консоли `UEFI Firmware settings`. ### 2.3 UEFI Поменяйте порядок загрузки в UEFI терминале `EFI Internal Shell`. Изучите команды и файловые системы `FS0:`, `FS1:`, `FS2:`. ### 2.4 UEFI Поменяйте порядок загрузки с помощью команды `efibootmgr` из операционной системы. Изучите директорию `/boot/efi`. # 3. GRUB ### 3.0 GRUB Зайдите в GRUB меню в shell во время загрузки машины клавишей `c`. Попробуйте следующие команды: ``` grub> ls grub> ls (hd0, gpt1)/ grub> ls (hd0, gpt2)/ grub> ls (hd0, gpt3)/ ``` Найдите диск с директорией `/efi` и найдите в ней папку `/efi/debian`. Выполните следующие команды: ``` set prefix=(hd0,1)/efi/debian set root=(hd0,1) insmod linux insmod normal normal ``` Вы должны попасть в GRUB, установленный Debian. ### 3.1 GRUB Поменяйте порядок загрузки операционных систем в `grub.conf`. ### 3.2 GRUB Настройте GRUB на ожидание 15 секунд перед загрузкой операционной системы по умолчанию, если никакая клавиша не нажата. ### 3.3 GRUB Добавьте опцию в меню, которая загружает ОС в single-user mode (с параметром `single`). # *Настройте PXE boot сервер PXE — это протокол, используемый для загрузки операционных систем по сети https://ru.wikipedia.org/wiki/PXE. Возьмите любые две машины в сети `192.168.0.1/24` подключенные к интерфейсу `vmbrX`. Следуя руководству https://linuxhint.com/pxe_boot_ubuntu_server/ настройте PXE загрузочный север. Проверьте работу сервера на другой машине, выбрав `iPXE` в меню загрузки `BIOS`. # Источники ## Релевантные веб источники 1. https://0xax.gitbooks.io/linux-insides/content/Initialization/ 2. http://www.collados.cat/asix1/m01/tu1/m01tu01pr12.php 3. https://learning.lpi.org/en/learning-materials/101-500/102/102.2/102.2_01/ 4. https://www.linux-magazine.com/Online/Features/Coping-with-the-UEFI-Boot-Process 5. http://www.rodsbooks.com/gdisk/mbr2gpt.html 6. https://www.youtube.com/watch?v=Q3rssfwxcyA 7. https://www.youtube.com/watch?v=7D4qiFIosWk 8. https://www.happyassassin.net/posts/2014/01/25/uefi-boot-how-does-that-actually-work-then/ 8. https://linuxhint.com/use-uefi-interactive-shell-and-its-common-commands/ 9. https://docs.nvidia.com/networking/m/view-rendered-page.action?abstractPageId=25139424 10. https://help.ubuntu.com/community/Grub2 11. https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-ubuntu-22-04-lts.html ## Релевантные главы в книгах 1. Evi Nemeth, Garth Snyder, Trent R. Hein, Ben Whaley, Dan Macking. Unix Handbook. 2 Chapter. (117 page ebook). 2. Raphael Hertzog, Roland Mas. The Debian Administrators's Handbook. 9 Chapter (233 page ebook). 3. Michael W. Lucas. Absolute FreeBSD. 4 chapter (103 page ebook) TODO stress distinction of primary bootloader and secondary bootloader (comments for tasks, or separate tasks)