Створеня завантажувальной USBflash в OS Linux


В котрий раз оновлював свій інструментарій - завантажувальні флешки.

І ось, в моє поле зору потрапила гарна статья про створення завантажувальних флешек під Linux.

Программы для записи образа на флешку Linux

В данной статье рассмотренно несколько программ для записи iso образов на флешку.

1. Первый это с помощью коммандной строки и комманды dd

Тема не раскрыта. Есть более подробные описания как это сделать. Например статья

Создание Live-usb или Как сделать загрузочную флэшку с линукс

или вот такая статья

Как сделать установочную флешку

2. С помощью программы Unetbootin

Когда то, давным давно. я активно пользовался данной программой, но что то случилось и флешки созданные спомощью неё перестали работать. А версия "portable" не верно отражает кодировку.

3. Etcher новая программа. 

Очень простая. Я попробовал пару раз. Один удачно, один не удачно. (Никто не спорит, случаи у меня не тривиальные). В дальнейшем можно использовать.
Это программа новая, поэтому ее еще нет в официальных репозиториях, но вы можете найти портативный образ AppImage на официальном сайте.

4. Это сферический конь в вакууме YUMI.

То есть она вроде и есть, а вроде как нужен wine. Причем при том что обещают выпустить версию под Linux уже не один год...
Вообщем на будущее ... не стоить тратить на это свое время! 

5. Multisystem 

Это "Комбайн с вертикальным взлетом". Позволяет на флешку записать несколько образов. По идее количество образов ограничено только размером флешки. На практике образ Dr.WEB установить не смогла. Используем несколько загрузчиков одновременно: Grub2, Grub4DOS, Syslinux. 

Вообщем ... сделал флешку с тремя образами. Немного помучался пока разобрался, как всё работает. но оно того стоит.

РЕКОМЕНДУЮ !!!


Для того что бы сделать мультизагрузочную флешку, нам нужно:

I определить какое это устройство.


Используем команду df или lsblk, к примеру

root@EC1024:/home/viy/Загрузки# df -h

Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
/dev/sdc2           92G          40G   48G           46% /
/dev/sdc3          1,7T         750G  896G           46% /home
/dev/sdd1           59G          50G  9,4G           85% /media/viy/HyperX
/dev/sde1          3,8G         1,8G  2,1G           46% /media/viy/MULTI

II полностью её стереть


dd if=/dev/zero of=/dev/sde bs=4M

перечитать разделы

partprobe /dev/sdd

III после этого, используя


fdisk /dev/sde

создать один раздел начиная с 2048 сектора
дать тип этому разделу FAT32 (это тип b)
сделать этот раздел загрузочным
записать все это и выйти

перечитать разделы
partprobe /dev/sdd

IV отформатировать флешку


mkfs.vfat -n 'MULTI' -I /dev/sde1

V Установить Grub2 на флешку

grub-install --recheck --root-directory=/media/viy/Multi /dev/sde

VI Послле запустить заранее установленную программу (присутствует с стандартных репозитариях) MultiSystem и добавить туда все дистрибутивы которые ВЫ пожелаете


dd if=ROSA.2012.EE.i586.iso of=/dev/sdb bs=8MB;sync
dd_rescue -A ROSA.2012.EE.i586.iso /dev/sdb
dd bs=4M if=Window.iso of=/dev/sdX && sync


Если UEFI, то:
1. Берём gparted
2. Создаём структуру разделов GPT на устройстве.
3. Создаём раздел FAT32 (NTFS не работает), не менее размера образа (5-6 ГБ хватит).
4. Вытыкаем-втыкаем флешку заново в ПК. Монтируем её, если ОС сама этого не сделала.
4. Монтируем образ ISO: mount -o loop /path_to_iso /mnt
5. Копируем содержимое образа на созданный раздел: cp -vr /mnt/* /path_to_usb_drive/
6. Безопасно отмонтируем флешку.
7. Отмонтируем образ: umount /mnt
8. Грузимся с флешки в режиме UEFI.

Это справедливо для Windows 8+.
Если у вас 7-ка, то необходимо ещё докинуть bootx64.efi согласно последней части данной страницы:

https://www.thomas-krenn.com/en/wiki/Creating_Windows_UEFI_Boot-Stick_in_Windows


или 2й метод

sudo cfdisk /dev/sdg (partition type 7 and bootable flag)
sudo mkfs.ntfs -f /dev/sdg1
# Сначала создать загрузчик, и только после этого копировать файлы!
# -m для XP, -7 для 7
sudo ms-sys -7 /dev/sdg
sudo mount -o loop win7.iso /mnt
sudo mount /dev/sdg1 /media/iso
sudo cp -rv /mnt/* /media/iso && sudo umount /media/iso && sudo umount /mnt



Якщо нічого не допомогає використовуємо UltraISO на віртуальній машині!


Оптимизация Linux для флешки

Чтобы не навредить устройству, с Линукс нужно провести некоторые операции.

Действия проводятся с файлом/etc/fstab. Нужно включить сжатие всех файлов и оптимизацию для ssd в btrfs с помощью записи в терминале:
vi /etc/fstab и /dev/sdb1 / btrfs errors=remount-ro,noatime,nodiratime,compress=lzo,ssd,commit=60 0 1

Папки с временными файлами нужно поместить в оперативную память с помощью выражений
tmpfs /tmp tmpfs rw,size=100m 0 0;
tmpfs /run tmpfs rw 0 0;
tmpfs /var/lock tmpfs rw 0 0
и
tmpfs /var/log tmpfs rw,size=10m 0 0

Сжать максимальное время между записями данных на диск можно с помощью:
sudo sysctl -w vm.laptop_mode=120;
sudo sysctl -w vm.dirty_writeback_centisecs=12000

и
sudo sysctl -w vm.dirty_expire_centisecs=12000

Максимальный процент кэша можно установить выражением
sudo sysctl -w vm.dirty_ratio=10

А установить процент памяти, при котором возможна запись на носитель, можно записью:
sudo sysctl -w vm.dirty_background_ratio=1



Все эти шаги улучшат работу устройства.