Загрузочная USB Flash — различия между версиями

Материал из ALT Linux Wiki
Перейти к: навигация, поиск
Строка 13: Строка 13:
 
<pre>
 
<pre>
 
# fdisk /dev/sdf
 
# fdisk /dev/sdf
o<ENTER>
+
o<ввод>
n<ENTER>
+
n<ввод>
p<ENTER>
+
p<ввод>
1<ENTER>
+
<1, ввод>
<first cylinder, ENTER>
+
<первый цилиндр, ввод>
<last cylinder, ENTER>
+
<последний цилиндр, ввод>
 
a<ENTER>
 
a<ENTER>
1<ENTER>
 
 
w<ENTER>
 
w<ENTER>
 
</pre>
 
</pre>
 
<li>Отформатируем его (метку '''LinuxBoot''' можно заменить на любую «от фонаря»):
 
<li>Отформатируем его (метку '''LinuxBoot''' можно заменить на любую «от фонаря»):
 
<pre># mkfs -text2 /dev/sdf1 -LLinuxBoot</pre>
 
<pre># mkfs -text2 /dev/sdf1 -LLinuxBoot</pre>
<li>Запишем загрузочный сектор:
 
<pre># cat /usr/lib/syslinux/mbr.bin >/dev/sdf</pre>
 
 
<li>Смонтируем раздел для его заполнения:
 
<li>Смонтируем раздел для его заполнения:
 
<pre># mount /dev/sdf1 /mnt/sdf1</pre>
 
<pre># mount /dev/sdf1 /mnt/sdf1</pre>
 
<li>Установим на него загрузчик:
 
<li>Установим на него загрузчик:
 
<pre># extlinux --install /mnt/sdf1</pre>
 
<pre># extlinux --install /mnt/sdf1</pre>
 +
<li>Запишем загрузочный сектор:
 +
<pre># cat /usr/lib/syslinux/mbr.bin >/dev/sdf</pre>
 
<li>С заранее смонтированного установочного образа/оптического диска, к примеру, Alt Workstation или Education, скопируем в корень /mnt/sdf1 каталоги ALTLinux, Metadata и syslinux, а также файлы-образы altinst и live. А с диска rescue &mdash; только одноимённый файл-образ, если место позволяет.
 
<li>С заранее смонтированного установочного образа/оптического диска, к примеру, Alt Workstation или Education, скопируем в корень /mnt/sdf1 каталоги ALTLinux, Metadata и syslinux, а также файлы-образы altinst и live. А с диска rescue &mdash; только одноимённый файл-образ, если место позволяет.
 
<li>Создадим меню загрузки... ну, такое себе меню &mdash; выбирать конкретный образ приходится вводом его ярлыка в приглашение, иначе загрузится умолчальный. Пример меню /mnt/sdf1/extlinux.conf:
 
<li>Создадим меню загрузки... ну, такое себе меню &mdash; выбирать конкретный образ приходится вводом его ярлыка в приглашение, иначе загрузится умолчальный. Пример меню /mnt/sdf1/extlinux.conf:

Версия 07:27, 8 июня 2020

По мотивам InstallFlash и | Bootable Linux USB drive using EXTLINUX

В отличие от syslinux для загрузки с флэшек, отформатированных в FAT, extlinux умеет грузить установщик или «живой»/«спасательный» образ почти с любой «родной» ФС.

По одной из вышеприведённых ссылок рекомендуют ext2 ради минимального истязания записью нежурналируемых файловых систем по сравнению с журналируемыми.

Внимание! Дальнейшее описание исходит из того, что моя флэшка определилась как /dev/sdf — в каждом случае бывает по-разному, не промахнитесь.

Делал так

  1. Предварительно следует установить пакеты c загрузчиком и загрузочными секторами:
    # apt-get install -y extlinux syslinux-data
  2. На флэшке размером от 8 ГБ без разделов cоздадим раздел в ДОС-разметке:
    # fdisk /dev/sdf
    o<ввод>
    n<ввод>
    p<ввод>
    <1, ввод>
    <первый цилиндр, ввод>
    <последний цилиндр, ввод>
    a<ENTER>
    w<ENTER>
    
  3. Отформатируем его (метку LinuxBoot можно заменить на любую «от фонаря»):
    # mkfs -text2 /dev/sdf1 -LLinuxBoot
  4. Смонтируем раздел для его заполнения:
    # mount /dev/sdf1 /mnt/sdf1
  5. Установим на него загрузчик:
    # extlinux --install /mnt/sdf1
  6. Запишем загрузочный сектор:
    # cat /usr/lib/syslinux/mbr.bin >/dev/sdf
  7. С заранее смонтированного установочного образа/оптического диска, к примеру, Alt Workstation или Education, скопируем в корень /mnt/sdf1 каталоги ALTLinux, Metadata и syslinux, а также файлы-образы altinst и live. А с диска rescue — только одноимённый файл-образ, если место позволяет.
  8. Создадим меню загрузки... ну, такое себе меню — выбирать конкретный образ приходится вводом его ярлыка в приглашение, иначе загрузится умолчальный. Пример меню /mnt/sdf1/extlinux.conf:
    PROMPT 1
    TIMEOUT 200
    IMPLICIT 1
    DEFAULT instalt
    
    LABEL live
    KERNEL syslinux/alt0/vmlinuz
    APPEND initrd=/syslinux/alt0/full.cz live fastboot lang=ru_RU showopts automatic=method:disk,disk:sdb,partition:sdb1 stagename=/live ramdisk_size=455461 splash=silent splashcount=17 vga=0x314
    
    LABEL rescue
    KERNEL syslinux/alt0/vmlinuz
    APPEND initrd=/syslinux/alt0/full.cz live fastboot lang=ru_RU showopts automatic=method:disk,disk:sdb,partition:sdb1 stagename=/rescue ramdisk_size=455461 splash=silent splashcount=17 vga=0x314
    
    LABEL instalt
    KERNEL syslinux/alt0/vmlinuz
    APPEND initrd=/syslinux/alt0/full.cz live fastboot lang=ru_RU showopts automatic=method:disk,disk:sdb,partition:sdb1 stagename=/altinst lowmem splash=silent splashcount=17 vga=0x314
    
    LABEL failsafe
    KERNEL syslinux/alt0/vmlinuz
    APPEND initrd=/syslinux/alt0/full.cz live fastboot lang=ru_RU showopts automatic=method:disk,disk:sdb,partition:sdb1 stagename=/altinst lowmem noapic pci=nomsi acpi=off noload=ahci
    
    Внимание! Здесь sdb — то, каким диском флэшка увидится в истязаемой системе: если там один жёсткий диск, то да, /dev/sdb.

Осталось отмонтировать готовую флэшку и пользоваться на здоровье.