Как образ диска записать на загрузочный диск windows

Ubuntu на USB-накопителе

С появлением USB-накопителей большей емкости и поддержкой загрузки компьютера через USB меня заинтересовали живые дистрибутивы непосредственно на USB (Live USB) вместо классического компакт-диска. Поводом для отдельной статьи является тот факт, что различные автоматизированные средства не позволили мне добиться желаемых свойств. Отдельные шаги прокомментированы, чтобы более опытный пользователь мог настроить их под свои нужды.

  • функциональная загрузка Ubuntu Linux с USB-накопителя;
  • сохранение изменений между отдельными запусками;
  • возможность использования флешки и как обычного диска для записи/чтения данных — даже из работающей Ubuntu;
  • и все это только на одном разделе типа FAT — т.е. без разбиения.

Основной целью является не создание установочного носителя.

P примечание: сообщения под статьей относятся ко всем видам программного обеспечения, но оно не может гарантировать возможность записи в раздел FAT32, из которого работает Ubuntu. в то же время. Это можно решить, создав два раздела: первый для обычного использования, второй для «Live Ubuntu», включая файл для сохранения изменений.

Для справки, загрузка ОС с USB-накопителя включает в себя:

  • Указание BIOS для загрузки загрузчика ОС с USB-HDD;
  • Запустите загрузчик с MBR (основной загрузочной записи) USB-накопителя;
  • Загружая ядро, ядро ​​затем загружает файлы initramfs (initrd.img), содержащие автоопределение оборудования и загрузку модулей;
  • Загрузить образ файловой системы только для чтения (squashfs);
  • Сохранение изменений файловой системы в отдельный файл casper-rw или home-rw (используя unionfs).

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

Casper достаточно гибок, что позволяет размещать и squashfs, и casper-rw по-разному: либо в виде файлов на обычном разделе FAT16/32, либо в отдельном разделе Linux, либо даже напрямую как блочное устройство (т.е. вместо файла casper-rw будет использоваться раздел с именем casper-rw). Более того, все это работает автоматически.

Обратите внимание на разделение файловой системы на раздел, доступный только для чтения, и сохранение всех изменений этого образа в отдельный файл. Благодаря unionfs, с точки зрения пользователя, система ведет себя как единая файловая система с возможностью записи.

ВНИМАНИЕ: casper-rw и иногда filesystem.squashfs часто повреждаются во время тестирования. Я еще не выяснил, является ли это неисправной флешкой (я так не думаю) или тем фактом, что файловая система (FAT32), содержащая оба файла, доступна для записи одновременно. Итак: ИСПОЛЬЗУЙТЕ НА СВОЙ РИСК.

Создание работающей установки Ubuntu

Опять же, существуют разные методы, другие источники обычно рекомендуют использовать существующую файловую систему на Live CD и chroot для этой системы в соответствии с вашими потребностями. Недостаток Chroot заключается в текстовой консоли, это тоже можно решить (см. комментарии в разделе Настройка Ubuntu Live CD), однако лично я предпочитаю обычную установку Ubuntu в виртуализированной среде (VirtualBox не-OSE).

Читайте также:  Как вернуть системные файлы windows 10

Установите на виртуальную машину как минимум следующие пакеты:

Первый — это набор скриптов, расширяющих свойства initramfs (для поиска образов файловой системы squashfs и casper-rw), следующие — утилиты для автоопределения оборудования, инструменты для создания образа файловой системы, и последний — установщик с флешки (т.е. создание обычной установки на компьютере).

Необходимо устанавливать «Гостевые дополнения» — хотя они и сделали бы использование виртуальной машины более приятным, но на LiveUSB бесполезны.

Далее установите программы по вашему выбору, единственным ограничением является установка бинарных драйверов nvidia и fglx — casper всегда создает новый /etc/X11/xorg.conf при запуске и (намеренно) не обнаруживает бинарный файл водители. Это намерение, видимо, связано с GPL — распространение этих бинарных драйверов, по некоторым мнениям, противоречит этой лицензии. Мне еще предстоит узнать, успешно ли кто-нибудь модифицировал эти сценарии.

Следующий шаг — отредактировать скрипт /usr/share/initramfs-tools/scripts/casper так, чтобы флешка монтировалась с правами записи для всех пользователей (по умолчанию предполагается, что образ читаемой только файловая система /media/ubuntu/casper/filesystem.squashfs хранится на недоступном для записи диске (CD-ROM, отдельный раздел диска).Выделенная часть указывает на изменения:

Кроме того, целесообразно добавить e2fsck в initramfs и изменить скрипт casper для проверки постоянного раздела диска casper-rw. Первая часть оформляется добавлением скрипта /usr/share/initramfs-tools/hooks/casper (добавьте выделенную часть):

И вторую часть, отредактировав скрипт /usr/share/initramfs-tools/scripts/casper (заполните выделенную часть):

После того, как все системные модификации будут выполнены на виртуальной машине, вам необходимо обновить зависимости модуля и создать новый файл initramfs:

Команда update-initramfs автоматически включит сценарии casper в /boot/initrd-xxx.img, что является ключевой частью всего процесса.

Подготовка USB-накопителя

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

Сначала подключите флешку к виртуальной машине (VirtualBox меню Devices/USB device… Предупреждение: это может сделать только неоперационная версия VirtualBox от SUN.)

Отформатируйте USBфлешка так, чтобы на ней был только один раздел в формате FAT (если размер больше 4 ГБ, выбирайте FAT32(LBA), в противном случае достаточно FAT16). Узнать метку диска можно командой:

Из вывода попробуйте прочитать, какое устройство ядро ​​назначило флешке — в моем случае /dev/sdb. Если вы допустили ошибку, вы можете использовать следующие команды для удаления всех данных на жестком диске виртуальной машины!

Если на USB-накопителе уже были какие-то разделы, и они были смонтированы автоматически, сначала «размонтируйте» их, щелкнув правой кнопкой мыши значок диска на рабочем столе.

Первая команда стирает начало диска в целях безопасности (т.е. сбрасывает MBR и существующий раздел), вторая запускает fdisk.

  • сначала создайте новый основной раздел (последовательность клавиш «n»+»p»+»1″+»enter»+»enter»+»enter»),
  • установите тип FAT32 («t»+»c»),
  • установить флаг загрузки («a»+»1″+»enter»)
  • и записать изменения («w») при выходе.

В качестве альтернативы вы можете использовать cfdisk или gParted (с графическим интерфейсом).

Чтобы проверить, просмотрите раздел:

Отформатируйте созданный раздел в FAT (нет необходимости выбирать FAT 16 или 32, команда определит его автоматически в зависимости от размера диска) и назовите его «ubuntu», затем проверьте флешку (из-за плохие блоки):

Читайте также:  Как удалить зарезервированное хранилище windows 10

Время от времени проверяйте флешку, даже при использовании Live USB, будь то из MS Windows или Linux.

Создание образа диска

Затем подключите флэш-накопитель USB (т. е. отключите его от виртуальной машины и снова подключите, накопитель должен быть автоматически обнаружен и смонтирован в каталоге /media/ubuntu) и создайте каталог для образа файловой системы:

Каталог должен называться casper, потому что его ожидают сценарии casper. Чтобы использовать другое место, вам нужно отредактировать /usr/share/initramfs-tools/scripts/casper ивоссоздать initrd.img.

В гостевой системе закройте все запущенные приложения, переключитесь в однопользовательский режим (без поддержки сети), измените корневое монтирование на доступ только для чтения (чтобы исключить изменения в файловой системе), создайте образ файловой системы непосредственно на USB-накопитель и, наконец, снова смонтируйте корень с включенной записью изменений:

Команда mksquasfh сжимает полную структуру каталогов гостевой системы (за исключением каталогов или файлов после параметра -e) и сохраняет ее в файл /media/ubuntu/casper/filesystem.squashfs. Имя файла изображения может быть любым, кроме расширения «squashfs».

Каталоги /proc , /sys и /tmp намеренно опущены — первые две содержат виртуальные системные данные, а не реальные файлы, последняя директория содержит только временные файлы.

Теперь вернитесь в графическую среду (просто нажмите CTRL+D или напишите команду выхода и выберите «возобновить загрузку» в следующем меню).

В образ файловой системы по-прежнему необходимо добавить пустые каталоги, которые мы изначально не включили (у каталога tmp есть специальные права доступа):

Далее установите grub — загрузчик ядра:

Команда автоматически записывает grub на MBR-диск /dev/sdb , создает каталог boot/grub на том же диске и копирует файлы, необходимые для работы загрузчика.

(В качестве альтернативы вы можете использовать syslinux, который занимает меньше памяти и его проще настроить, но в моем случае grub оказался более надежным.)

Далее скопируйте ядро, initramfs и memtest с виртуальной машины на флешку:

Memtest не является обязательным, он используется для проверки оперативной памяти компьютера.

Теперь вам нужно создать /media/ubuntu/boot/grub/menu.lst, чтобы он содержал (конечно, вы можете изменить содержимое, см. ручные скрипты grub и casper):

Преимущество Grub в том, чтопри запуске компьютера можно отредактировать вышеперечисленное (клавишей «e») и после редактирования параметров продолжить запуск операционной системы (клавишей «b»).

И последний шаг — создать образ файловой системы для хранения изменений в образе filesystem.squashfs (который доступен только для чтения).

Первая команда создает пустой файл casper-rw размером 1 ГиБ (bs — размер блока, count — количество повторений блока). Затем вторая команда создает файловую систему ext2 внутри этого файла и называет ее casper-rw (это необязательно).

Имя файла casper-rw важно, потому что оно ожидается сценариями casper. Файл также должен находиться в основном (корневом) каталоге USB-накопителя.

В качестве альтернативы можно использовать имя файла /media/ubuntu/home-rw — тогда будут сохранены только изменения в домашних каталогах, а все остальное (т.е. новые установленные программы, модификации скриптов /etc и т. д.) теряется при выключении компьютера).

Исключительно для информации можно добавить список установленных пакетов:

Другие примечания

Проприетарные драйверы видеокарты

Если вы настаиваете на бинарных драйверах видеокарты, то не проблема установить их после запуска ОС с флешки — через меню Система/Администрирование/Драйверы оборудования. После установки вам не нужно перезагружать систему, просто выйдите из Gnome и войдите снова (тем временем X.org перезапустится и загрузит новый драйвер).
После следующей перезагрузки файл /etc/X11/xorg.conf будет перезаписан (за это отвечают касперовские скрипты) и бинарные драйвера не будут установлены. Это можно решить, либо изменив скрипты каспера, либо добавив свой собственный xorg.conf, используя /etc/rc.local. Тогда, конечно, вы потеряете универсальность такой установки — драйвера nVidia будут бесполезны на компьютере с видеокартой Intel. Я протестировал одновременную установку двоичных файлов драйверов.nvidia и fglrx, но тогда Xka вообще не запускалась…

Читайте также:  Как сменить пароль на windows 7 через биос

Список изменений стандартной установки Ubuntu

Перед созданием образа я

  • отключил сервисы cron, anacron, cups, saned (изменив права: sudo chmod -x /etc/init.d/_relevant_service);
  • удален apport, python-apport Thunderbird, Pidgin*, Bogofilter*, Myspell*, Popular-contest, scim*, wamerican, wbritish, evolution*;
  • установлены mc, bluez-compat, mtools, testdisk, wipe, partimage, xfsprogs, medibuntu (mplayer, skype, alsa-firmware, w32codecs, googleearth, libdvdcss2), digikam, mapivi, ufraw, различные программы обнаружения (kismet, aircrack -ng, wireshark, nmapsi4), cryptkeeper, KeepassX, клиент Citrix ICA (подключаемый модуль XenApp + сертификаты), NoMachine NXclient (+ ключ), ntlmaps;
  • внесены различные модификации: X (уменьшить разрешение экрана до 90 dpi), mc (внутренний редактор), gedit (не сохранять резервную копию файла), gnome-terminal (удалить сочетания клавиш), gnome-panel (добавить: иконки Firefox, терминал, gedit, системный монитор, настройки/отображение; удалить переключатель пользователя), тема мифбунту (gtk2-engines-mythbuntu, мифтв-тема-мифбунту).

Изменить размер casper-rw

Сначала создайте пустой файл /tmp/tempfile нужного вам размера (здесь к существующему casper-rw будут добавлены дополнительные 256 МБ):

Теперь добавьте этот пустой файл в конец существующего файла casper-rw на флешке, проверьте существующую файловую систему и разверните ее:

Прямая установка на флешку

Ubuntu можно установить на флешку прямо с Live CD, как и на любой другой жесткий диск, но у этого есть несколько недостатков:

  • Чтение и запись небольших файлов: флэш-накопители являются самыми медленными, особенно для небольших файлов (запись блоков размером 4 КБ может иметь «скорость» около 300 КБ/с, а блоков 1 МБ — до 20 МБ/с).Поэтому на практике Live USB работает быстрее.
  • Частая запись небольших событий (временные файлы браузера, журналы) изнашивает флэш-накопитель, что может привести к его повреждению (ошибки ввода-вывода в системном журнале). Впрочем, сегодня это не так критично из-за роста качества NAND-памяти и снижения цены на флешки.

С другой стороны, можно использовать «логированные» файловые системы, которые частично решают обе проблемы (см. статью на сайте IBM).

Резервное копирование текущего состояния файловой системы

Файл с образом файловой системы casper/filesystem.squashfs естественно всегда один и тот же, все изменения сохраняются в образ в файле casper-rw. Со временем этот файл может стать довольно большим, особенно во время обновления системы.

К счастью, оба образа можно объединить и подключить к обычной системе Linux. Сначала смонтируйте обе файловые системы в отдельные папки, затем используйте UnionFS, чтобы объединить их в отдельную точку монтирования /tmp/3:

Впоследствии можно создать резервную копию папки /tmp/3 или перезаписать ее содержимое диском, используемым в виртуальной машине.

Поделиться с друзьями
ОС советы