26 мая 2014

Мультизагрузочная флешка MultiBoot USB flash key

Данная статья является руководством, как создать загрузочную флешку используя syslinux или grub2.

Загрузочная флешка крайне полезная вещь, она может понадобиться в любой момент. Поэтому, позаботьтесь о ее создании заранее, что бы всегда быть во все оружии.

Наша флешка будет иметь красивый графический интерфейс, поддержку русских шрифтов и обладать следующими функциями:
  1. Загрузка различных ОС, включая DOS, Windows, Linux, FreeBSD и другие
  2. Загрузка с разных разделов и дисков
  3. Установка осей Windows, Linux и FreeBSD непосредственно с флешки
  4. Сканирование антивирусными средствами
  5. Диагностика, восстановление информации, изменение разделов и клонирование дисков
  6. Запуск своей среды на любом компе, Ubuntu в persistent режиме c сохранением всех изменений на флешке.
Сразу должен предупредить. Не используйте медленные флешки! Иначе Ubuntu в persistent режиме будут так сильно тормозить, что работать станет не возможно. Я экспериментировал с двумя флешками. Одна Selicon-power 32Gb, скорость чтения  20 Mb/s и записи 9Mb/s. Этого было крайне не достаточно, можно было несколько минут ждать пока запустится firefox. Вторая Transcend 64Gb, скорость чтения 40Mb/s, записи 18Mb/s. Здесь работать очень комфортно, задержек нет совсем. Измерения скорости проводил с помощью Chak Flesh.   

Безусловно ключевую роль в этом деле играет загрузчик. Традиционно для переносных накопителей используют grub4dos или syslinux. Они примерно одинаковые и все что есть у одного затем появляется у другого. Оба легки в использовании и могут грузить все необходимое. К тому же возможно вызывать один из другого. Так что особой разницы между ними нет, это больше дело вкуса и привычки.

Мы же будем использовать новый загрузчик grub2, который полностью соответствует спецификации мультизагрузки и обладает многими преимуществами. Сравнительная таблица есть на wiki.

Для пользователей windows есть один неудобный момент. Его нельзя установить из этой ос. Поэтому на первом этапе мы создадим вспомогательную загрузочную флешку с дистрибутивом Linux. Для этого нам потребуется образ Ubuntu и флешка размером не менее 1 Гб.

Сделать LiveUSB из образа Ubuntu можно легко и быстро с помощью программы Universal USB Installer. А можно еще быстрее, просто скопировать образ на флешку и воспользоваться загрузчиком syslinux. Кому, что больше нравится. Если вас не интересует syslinux, сразу переходите ко второму этаму. 

Создание загрузочной флешки с syslinux
И так вы уже скопировали образ на флешку. Еще из него нужно вытащить два файла initrd.lz и vmlinuz из папки casper и положить в корень. Они нужны для загрузки. Теперь скачиваем последнюю версию syslinux с официального ресурса. В архиве в папке bios будут папки win32 и win64, выбираете ту, которая соответствует разрядности вашей ос. Внутри лежит установщик syslinux.exe. Запускаете командную строку от имени администратора и даете команду установки загрузчика syslinux. Эта команда запишет файлы ldlinux.c32 и ldlinux.sys в корень, разместит загрузчик в MBR и сделает диск активным.
syslinux.exe -m -a z:
где z: - это буква вашей флешки.
Мы используем графический режим и для этого нам потребуются файлы vesamenu.c32, libutil.c32 и libcom32.c32. Надите их в папке /bios/com32 и тоже положите в корень. Теперь там осталось создать конфигурационный файл syslinux.cfg.
UI vesamenu.c32
MENU RESOLUTION 1024 768
#разрешение картинки должно соответствовать разрешению графического режима, т.е. в нашем случае быть 1024x768, поддерживаются PNG и JPEG.
MENU BACKGROUND background.png
#русский шрифт
FONT UniCyr_8x16.psf

#цвета элементов меню
menu color border 0 #00000000 #00000000 none
menu color unsel 0 #90ffffff #00000000 none
menu color sel 0 #ff60CA00 #00000000  std
menu color tabmsg 0 #00000000 #00000000 none
Цвета задаются в формате #AARRGGBB, т.е. в шестнадцатеричном виде прозрачность, красный, зеленый и синий каналы. Например #00000000 – полностью прозрачный, а #ffffffff – непрозрачный белый. Первое значение – цвет переднего плана, второе – фон. Последний параметр – тень, может принимать значения none, std, all и rev.

В syslinux используются любые консольные шрифты в формате psf. Например, их можно взять в linux в папке consolefonts. Так же подойдет courier из windows. Я использовал шрифт UniCyr из пакета Console tools cyrillic

Самое главное в syslinux.cfg добавить пункт меню для запуска ubuntu.
LABEL Ubuntu
LINUX /vmlinuz
INITRD /initrd.lz
APPEND boot=casper iso-scan/filename=/ubuntu-14.04-desktop-i386.iso locale=ru_RU.UTF-8 quiet splash --
Теперь все, создание вспомогательной загрузочной флешки закончено. В принципе можно остановиться и на этом варианте с syslinux.

На втором этапе, запускаем ubuntu с помощью вспомогательной флешки и вставляем нашу будущую мультизагрузочную флешку. Открываем терминал, по умолчанию его нет на панели, для этого кликаем на иконке поиска и пишем ter, он появится. 

Структура флешки

На этом этапе мы разобьем флешку на 4 первичных раздела. Это максимальное число для таблицы MBR, если нужно большее число разделов, то используйте GPT таблицу. Но windows будет загружаться только на компьютерах с UEFI. Поэтому MBR предпочтительней для совместимости со старым железом. Я использовал флешку объемом 64GB, поэтому не был сильно ограничен в пространстве.
  1. Первый будем использовать как место для хранения данных, а так же с него будем устанавливать дистрибутивы windows и др., которые обязательно требуют первого раздела. Сделаем его максимально большим.  
  2. Второй для загрузчика GRUB 2 и разных программ и образов, которые будем запускать прямо с диска. Поэтому сделайте его нужного размера, например 10GB. 
  3. Третий отдадим для хранения данных live-системы Ubuntu, это так называемый casper-rw, около 5GB. 
  4. И последний будет для установочного дистрибутива FreeBSD, около 1GB, сюда мы  извлечем образ установочного диска memstick.img.  
К слову сказать максимально может быть только 4 основных раздела, если вам нужно больше, то придется создавать расширенные.

Обратите внимание, что установщик windows может запускаться только c первого primary раздела!
 
Для работы с разделами воспользуемся утилитой fdisk, в качестве параметра указываем нашу флешку.
sudo fdisk /dev/sdc
Что бы узнать какое имя у вашей флешки, выполните команду sudo fdisk –l,  в моем случае это sdc.

Далее находясь внутри утилиты
1) Командой “o”создадим чистую таблицу разделов MBR.
2) Командой “n”добавим первый primary раздел. Его можно сделать самым большим, здесь будут хранится разные файлы и дистрибутив Windows. У меня флешка на 64GB, поэтому я выделил +50G.
3) Затем создаем еще один первичный раздел, здесь будут лежать некоторые образы linux, в частности ubuntu, программы acronic, так же по желанию eset sysrescuer, drweb livecd и др. Мне хватит +3G.
4) И третий первичный раздел под все оставшееся пространство, около 5G для хранения всех изменений Ubuntu.
5) В конце сохраним все изменения командой “w”.

Теперь отформатируем разделы. Первый нам все таки придется сделать в fat32, поскольку с него будет ставится дистрибутив Windows, а с exfat он не дружит. Второй тоже в fat32, третий в ext4, а четвертый вообще не будем форматировать, на него потом поблочно запишем образ freebsd.
sudo mkfs.vfat -n transcend /dev/sdc1
sudo mkfs.vfat -n linux /dev/sdc2

sudo mke2fs -t ext4 /dev/sdc3 -O ^has_journal -L casper-rw 
Параметр -n задает имя тома, для mke2fs это -L. Удобно их назначить сразу, т.к. при автоматическом монтировании они сразу будут иметь понятные имена, а не цифры volum-id. Но том в exfat все равно придется переформатировать в виндовс, форматирование в ubuntu она его не принимает.

А метки можно добавить и позднее. Для файловых систем ext это делается командой
sudo e2label /dev/sdc3 casper-rw
для vfat:
sudo mlabel -i /dev/sdc1 ::win
Мы выбрали для casper-rw файловую систему ext4, поскольку она будет работать пошустрее. Еще обратите внимание, что мы создали  ext4 с опцией  -O ^has_journal  она отключает журнал и тем самым уменьшается количество циклов перезаписи. Это крайне важно для флеш памяти. 
Проверить, что этой опции нет на разделе можно командой
sudo dumpe2fs /dev/sdc3 | more
Casper-rw так же может быть и в виде отдельного файла и лежать в корне любого раздела. Ubuntu сама найдет его и подключит. Это не обязательно и сугубо по желанию, либо отдельный раздел, как мы создали ранее, либо файл. С разделом работать должно побыстрее. Что бы создать такой файл пишем
dd if=/dev/zero of=casper-rw bs=1M count=3000
И создаем внутри него файловую систему
sudo mkfs.ext4 casper-rw -O ^has_journal
Размер выбирайте исходя из своих потребностей, сколько места вам нужно под разные пакеты. Только помните, если он будет лежать на fat32, то там есть ограничение не более 4Гб. Поэтому отдельный раздел для casper-rw предпочтительней.

Небольшое отступление.

Как известно на флеш-накопителях целесообразнее использовать файловую систему fat32, нежели ntfs, поскольку она записывает меньше служебной информации и тем самым увеличивает срок ее службы. Но зато есть ограничение на максимальный размер файла не более 4 Гб.  Для этого была придумана exfat, она предназначена специально для флешь памяти, и здесь уменьшено число перезаписей одного сектора. Поэтому если вам нужен большой раздел на флешке, то  exfat будет лучшим вариантом.

Только в ubuntu по умолчанию нет встроенной поддержки этой файловой системы, поскольку она разработана Microsoft. Но ее легко можно добавить.

Сначала добавим репозиторий Universe 
sudo add-apt-repository universe
Обновим кеш всех пакетов
sudo apt-get update 
Установим пакеты exfat-fuse и exfat-utils для поддержки exfat
sudo apt-get install exfat-fuse exfat-utils
Монтирование будет происходить автоматически, когда будете вставлять флешку или вручную
sudo mount -t exfat /dev/sdс1 /mnt

Продолжаем, Теперь смонтируем второй раздел /dev/sdc2 в директорию /mnt и установим загрузчик grub2
sudo mount /dev/sdc2 /mnt
sudo grub-install --no-floppy --root-directory=/mnt /dev/sdc  
На втором разделе мы будем хранить разные образы дистрибутивов windows. И по мере необходимости  для установки извлекать из них файлы в корень на первый раздел. Эту процедуру мы будем делать из ubuntu. Здесь пригодится команда для  монтирования iso-образов
sudo mount -o loop /file.iso /mount_point
Копируем файлы командой cp
cp –r * /media/transcend
Теперь переходим к настройке загрузчика. На втором разделе в директории /boot/grub создадим конфигурационный файл grub.cfg.

Имейте в виду, что это не обычный файл настроек, а настоящий shell-подобный скрипт с функциями, условиями и переменными. Такой подход позволяет создавать даже динамическое меню! Каждая строка здесь это отдельная команда, они выполняются по порядку, символ # в начале строки – комментарий.  

Чтобы узнать какие разрешения поддерживаются вашим оборудованием в консоли grub наберите
vbeinfo
Мы запускаем grub2 в графическом режиме, для этого в grub.cfg напишем 
#модуль для bios
insmod vbe
#загружаем все шрифты из темы.
loadfont /boot/grub/themes/5/*.pf2
#графический режим
set gfxmode=auto
#подгружаем граф. терминал
insmod gfxterm
# запускаем граф. терминал
terminal_output gfxterm
#поддержка png и jpg изображений
insmod png
insmod jpeg
#устанавливаем фоновую картинку
#background_image /grub/backgrounds/1.png
# подключаем файл темы
set theme=/boot/grub/themes/5/theme.txt

Мы будем использовать тему, чтобы убрать рамку и заголовок меню в grub2. В папку themes/5 нужно положить фоновую картинку и создать текстовый файл theme.txt
title-text: ""
desktop-image: "fone.jpg"
+ boot_menu {
left = 10%
top = 10%
width = 80%
height = 80%


item_color = "#FFFFFF"
item_height = 16
item_spacing = 2
selected_item_color = "#0000FF"

}
+ label{
 left = 50%-300
 top = 95%
 width = 600
 height = 30
 text = "@KEYMAP_SHORT@"
 color = "white"
 align = "center"
 }
Можно использовать и свои шрифты. Только сначала их нужно конвертировать в формат pf2, для этого в linux есть утилита grub-mkfont.

Делается это так
grub-mkfont font.ttf -s size -o font.pf2 -v
Опция –v покажет полное имя шрифта, которое нужно указать в файле темы.
+ boot_menu {
...
item_font = "Kabelc Regular 16"
selected_item_font ="Kabelc Regular 16" 
...
Шрифты положить в папку с темой.

Еще у Grub2 есть замечательная особенность, он умеет загружать linux целиком из образа. Но поддерживает далеко не все дистрибутивы и уж тем более не поддерживает образы windows.

Добавим в grub.cfg пункт меню для запуска Ubuntu в persistent режиме, т.е. с возможностью сохранения измнений.
menuentry "Ubuntu LiveUSB" {
loopback loop /iso/ubuntu-14.04-desktop-i386.iso
linux (loop)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed persistent boot=casper iso-scan/filename=/iso/ubuntu-14.04-desktop-i386.iso locale=ru_RU.UTF-8 quiet splash --
initrd (loop)/casper/initrd.lz
}
Для запуска в режиме liveCD без сохранения изменений достаточно написать
menuentry "Ubuntu LiveCD" {
loopback loop /iso/ubuntu-14.04-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-14.04-desktop-i386.iso locale=ru_RU.UTF-8 noeject noprompt –
initrd (loop)/casper/initrd.lz
}
Для syslinux.cfg запуск ubuntu в persistent режиме будет выглядеть следующим образом.
LABEL Ubuntu persistent
LINUX /boot/vmlinuz
INITRD /boot/initrd.lz
APPEND file=/cdrom/preseed/ubuntu.seed persistent boot=casper iso-scan/filename=/boot/ubuntu-14.04-desktop-i386.iso locale=ru_RU.UTF-8 quiet splash –
Но перед тем как его запустить так же предварительно надо создать casper-rw. Для этого можете сначала загрузиться в режиме livecd прямо с этой же флешки. Она монтируется в дирикторию isodevice.

Я придерживаюсь аскетичного мнения, что для решения большинства задач можно обойтись одним live дистрибутивом, например Ubuntu. Здесь есть все необходимое. Можно поставить разные антивирусы для проверки windows-разделов, например, clamav, avast или даже comodo, удобный gparted для работы с разделами, встроенная дисковая утилита palimpsest, утилита testdisk для восстановления данных, ну и конечно fdisk, dd и многое другое. 

Поэтому после того как загрузите Ubuntu, настройте все под себя и поставьте необходимые пакеты.   
Первым делом установите обновления
sudo apt-get update
sudo apt-get upgrade
Если понадобится найти какой-нибудь пакет по маске, то воспользуйтесь командой
sudo apt-cache search mask
Процесс обновления может занять около часа. Если вы получите следующие ошибки "failed to symbolic-link boot/initrd.img" или "dpkg: error processing package linux-image-extra", то нужно выполнить
sudo rm /initrd.img
sudo rm /usr/sbin/update-initramfs
sudo dpkg-divert --rename --remove /usr/sbin/update-initramfs
sudo apt-get install --reinstall linux-image-3.2.0-24-generic
поставьте clamav
sudo apt-get install clamav
обновите его базы
sudo freshclam
И можете сканировать
sudo clamscan -г –i –move=/tmp /folder
Чтобы установить comodo, скачайте установочный deb-пакет с оффициалльного сайта и действуйте через центр приложений.
Установим testdisk и запустим
sudo apt-get install testdisk
sudo testdisk

Теперь добавим пункт меню для установки Windows с флешки. Не забывайте, что все файлы, извлеченные с установочного диска, должны находиться на первом разделе флешки.
menuentry 'Install Windows'{
set root='hd0,msdos1'
insmod ntldr
ntldr /bootmgr
}
В процессе установки windows вы можете получить такое сообщение “Программе установки Windows не удалось настроить Windows для работы с оборудованием этого компьютера". Не пугайтесь, в это случае нужно нажать Shift+F10 и в появившейся командной строке выполнить oobe\msoobe.exe,  установка продолжится дальше. 

Для подстраховки, чтобы установка windows шла гладко с самого начала нужно после копирования файлов, перед первой перезагрузкой вынуть флешку и дать загрузиться стандартному загрузчику ntldr и тогда никаких ошибок не должно быть!

А вот установку Windows XP будем выполнять из DOS-а с помощью команды winnt.exe, это проще и удобней, нежели использовать firadisk и grub4dos. Здесь тоже нужно скопировать все файлы с установочного диска на первый раздел флешки. Затем загрузиться в DOS при помощи же нашей флешки, выбрав пункт FreeDOS и там перейти в каталог i386. Что бы указать куда устанавливать WinXP нужно задать параметр /t[:диск].

Например,
cd i386
winnt.exe /t:d 
Установка пойдет на диск d, который предварительно следует отформатировать в fat32.
Полный список команд вы всегда можете получить по ключу /?

Аналогичным образом добавим пункт установка FreeBSD. Для этого мы извлечем установочный диск на 4 раздел нашей флешки. Делать это будем из ubuntu.
dd if=FreeBSD-10.0-RELEASE-amd64-memstick.img of=/dev/hda0s4 bs=10240 conv=sync
И в grub.cfg добавим
menuentry "Install FreeBSD" {
set root=(hd0,4)
kfreebsd /boot/loader
}

Еще eсть один интересный нюанс. Когда вы вставите нашу флешку с несколькими разделами, то windows увидит только первый. Это такое ограничение для сменных носителей. И чтобы получить доступ к другим разделам есть хорошая программа bootice. Она может измененять MBR и на лету присваивает метку нужному разделу. Делается это буквально в два клика. Заходите в Parts Manage выделяете нужный раздел и нажимаете set accessible.

Только обязательно после того как поработаете верните все назад, иначе не сможете загружаться!

Давайте еще добавим на флешку две очень полезные утилиты Acronis Disk Director и Acronis True Image Home.  Здесь нам тоже понадобится вспомогательная флешка. Сначала мы скачаем их настольные версии, например с rutracker, установим и запустим мастер создания загрузочных носителей. Установливать будем раздельно, сначала выберем только Disk Director. Когда мастер завершит работу скопируем все файлы с вспомогательной флешки в какую-нибудь папку на нашу мультизагрузочную флешку, наример в dd, это займет около 50 Мб. И повторим операцию для True Image, только скопируем все файлы в другую папку, например в ti, это займет еще 200 Мб.

Их можете скачать у меня Acronis True Image 2015 v18.0 Build 6525 (146 Мб), Acronis Disk Director 12.0.3223 (146 Мб), Acronis Universal Restore 2015 v11.5 Build 38938 (223 Мб). 

Пропишем соответствующие пункты меню в grub.cfg
menuentry "Acronis True Image 2015 v18.0 Build 6525" {
set root=hd0,2
linux /acronis/ATI2015/dat9.dat vga=791 quiet force_modules=usbhid
initrd /acronis/ATI2015/dat8.dat
}

menuentry "Acronis Disk Director 12.0.3223" {
set root=hd0,2
linux /acronis/ADD12/dat7.dat vga=791 quiet
initrd /acronis/ADD12/dat6.dat
}

menuentry "Acronis Universal Restore 2015 v11.5 Build 38938" {
set root=hd0,2
linux /acronis/AUR2015/2.krn vga=791 quiet
initrd /acronis/AUR2015/2.fs
}
Если в Acronis True Image у вас не работают USB клавиатура и мышь, то в звгрузку ядра нужно добавить  такой параметр.
force_modules=usbhid
Меню запуска Clonezilla. Это отличный инструмент для клонирования дисков, с возможностью сохранять образы на сетевых ресурсах. Поскольку Clonezilla live основана на Debian live, то ее можно гузить прямо из iso-образа.
menuentry "Clonezilla-live-2.3.2-22-i586.iso" {
set isofile="/iso/clonezilla-live-2.3.2-22-i586.iso"
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live live-config nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" ocs_live_keymap=\"\" ocs_live_batch=\"no\" ocs_lang=\"\" vga=788 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile
initrd (loop)/live/initrd.img
}
На случай если вы вдург забудите вытащить флешку сделаем загрузку из MBR первого раздела первого диска по умолчанию автоматом через 5 сек.
menuentry "MBR First disk" {
set root=(hd1)
chainloader +1
}

GRUB_DEFAULT="MBR First disk"
GRUB_TIMEOUT=”5”
По аналогии можно напрямую грузить ОС с любых разделов, например с первого.
menuentry "First partition first disk" {
set root=(hd1,1)

chainloader (hd1,1)+1
}
Здесь hd1 – первый жесткий диск, поскольку hd0 – флешка с которой загрузились. Нумерация разделов начинается с 1.

Часто бывает нужно загрузить DOS. Для этого берем подходящий образ загрузочной дискеты и копируем его на флешку, например в папку /boot. Образ с freedos можно взять здесь, его создание описывалось в соседней статье.  Еще понадобится memdisk из пакета syslinux, его тоже надо положить в /boot. 
Добавим пункт меню
menuentry "FreeDOS " {
set root='(hd0,2)'
linux16 /boot/memdisk floppy
initrd16 /boot/FDBOOT.IMG
}
Для syslinux.cfg это будет выглядеть так
LABEL FreeDOS
kernel memdisk
append initrd=/boot/fdboot.img floppy
В нашу мультизагрузочную флешку обязательно следует включить утилиту MHDD для диагностики жестких дисков. Скачиваем iso-образ с офф. сайта, внутри него лежит img-образ дискеты, копируем его на флешку в папку /boot. И добавляем в меню.
menuentry "MHDD " {
set root='(hd0,2)'
linux16 /boot/memdisk floppy
initrd16 /boot/Bootable_1.44M.img
Все вышеупомянутые команды можно выполнять прямо в консоли загрузчика.  Для этого в меню нажмите клавишу “c” и видим приглашение grub>. Чтобы выйти из консоли наберите exit или нажмите ESC. Первым делом задаим постраничный вывод pager=1. Команда ls –l выдает информацио о доступных дисках. А если ей задать в качестве параметра определенную папку ls -lh /boot то увидите ее содержимое. Команда cat покажет содержимое текстового файла. Ну и традиционно help выводит список всех доступных комманд.
На этом все, поздравляю вы создали собственную мультизагрузочную флешку, которая выручить в трудный момент!

Готовый файл настроек grub.cfg можете взять тут.



7 комментариев:

  1. Этапы с копированием данных из образов куда-то не понятны. Пожалуйста напишите точнее как это делается последовательно и что использовать. И потом уведомите пожалуйста, а то я застопорился...

    ОтветитьУдалить
    Ответы
    1. Что конкретно не понятно? Какие образы?

      Удалить
    2. У меня возникло недопонимание после установки grub2 во второй раздел вот на этом месте:

      "На втором разделе мы будем хранить разные образы дистрибутивов windows. И по мере необходимости для установки извлекать из них файлы в корень на первый раздел. Эту процедуру мы будем делать из ubuntu. Здесь пригодится команда для монтирования iso-образов" © из статьи

      Мне требуется только Linux и Windows, поэтому я разбил флешку на 3 раздела, а не на 4. Первый также сделал для хранения файлов, второй также для линукса с грабом, третий также для сохранения изменений.
      Не пойму что делать после установки граба, но перед настройкой внешнего вида меню

      Удалить
    3. Второй раздел служит для загрузчика и разных iso-образов (например ubuntu и windows), а так же утилит типа acronis. В случае с linux, grub умеет грузить их прямо из iso, это очень удобно! Для винды же надо извлекать все файлы на первый раздел и грузить оттуда ntldr, только так! Это можно сделать как вам удобно, и из винды тоже. Я предложил способ прямо с загрузочной флешки из Ubuntu. Т.е. ваша флешка уже должна уметь грузить Ubuntu, либо при помощи вспомогательной флешки, которую мы создавали ранее. У вас же может быть потребность в разных дистрибутивах виндовс и все мы их храним на втором разделе. Поэтому загружетесь в Ubuntu, монтируете нужный исошник со второго раздела и копируете из него все файлы на первый командой cp. Предварительно очистив первый раздел от предыдущей виндовс, конечно. Надеюсь, что теперь у вас не останется недопонимания.

      Удалить
    4. Пожалуйста, помогите мне ещё. У меня до сих пор не заработала флешка (я не совсем не опытный линуксоид).

      inux (loop)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed persistent boot=casper iso-scan/filename=/iso/ubuntu-14.04-desktop-i386.iso locale=ru_RU.UTF-8 quiet splash --
      initrd (loop)/casper/initrd.lz

      вот эти строки, как я понял, говорят что надо взять initrd.lz и vmlinuz с раздела casper. Но у меня там ничего нету.

      Удалить
    5. Ага. Я нашел, что эти папки в образе Ubunt'ы лежат. А в Kali Linux они лежат в install. Только осталось непонятным что делать с файлом ubuntu.seed потому что нету его в Kali Linux. и похожего нету тоже

      Удалить
  2. Порядок такой: Сначала надо смонтировать loop-устройство, должна присутствовать строчка вида "loopback loop /iso/ubuntu-14.04-desktop-i386.iso". На следущем шаге вы загружаете ядро
    inux (loop)/casper/vmlinuz boot=casper, где указываете файл преднастроек file=/cdrom/preseed/ubuntu.seed. У вас он может по другому называться, поищите *.seed, ничего страшного не случится, если вы его не укажете, но вы можете получить не то, что хотите. Опция persistent для сохранения данных на раздел или в файл с именем casper-rw. Место расположения iso-образа iso-scan/filename=/iso/ubuntu-14.04-desktop-i386.iso и некоторые др. параметры. И сообщаете ядру, где лежит initrd (loop)/casper/initrd.lz.

    ОтветитьУдалить