Создание виртуального диска при помощи команды dd
Недавно скопировал файловую систему с флешки на жёсткий диск, а после этого ради интереса решил попробовать подмонтировать резервную копию. Удалось успешно. Получился виртуальный жёсткий диск с файловой системой ext4. Потом экспериментальным путём узнал, как создать виртуальный диск без флешки.
Подготовка файла-образа
Для создания файла образа можно использовать команду dd, задав копирование из /dev/urandom. Для установки размера нового файла я использовал параметры bs (сколько байтов копировать за один раз) и count (сколько блоков копировать). Например,
dd if=/dev/urandom of=/home/user/new bs=1024 count=1024
создаёт файл new размером 1 Мбайт (1024 байт*1024 байт). Размер файла должен быть достаточным для размещения файловой системы.
Создание файловой системы
Итак, мы создали файл, где будет находиться образ виртуального диска. Но пока это просто файл, заполненный случайными данными (тк наполнение бралось из /dev/urandom). Для создания файловой системы можно использовать mkfs. mkfs может спросить, действительно ли мы хотим «отформатировать» обычный файл (в случае с форматированием на ReiserFS пришлось добавлять к команде ключ -f). Общий вид команды такой:
mkfs.(название файловой системы) (путь до файла)
Монтирование и отмонтирование виртуального диска
Монтируется и отмонтируется полученный виртуальный диск также, как и блочные устройства. У меня потребовались права root, несмотря на то, что и сам файл-образ, и точка монтирования принадлежали мне. В случае с ext4 потребовалось переназначать владельца корневой файловой системы через chown:
sudo chown (имя пользователя) (путь до файла)
Запись образа на флешку
Образ виртуального диска можно также записать на флешку командой dd:
sudo dd if=(путь до образа) of=(путь до файла флешки)
Учтите, что файловая система будет полностью перенесена на флешку. Это означает, что если размер виртуального диска меньше размера раздела, то доступное место на флешке будет равно размеру файловой системы, что приведёт к уменьшению доступного места.
Образы оптических дисков
Образ оптического диска можно создать при помощи архиватора file-roller, создав архив в формате iso и поместив туда требуемые файлы, либо скопировать реальный диск при помощи dd:
sudo dd if=/dev/sr0 of=(путь до образа)
Монтируются такие образы обычным образом (через mount). Записать такой образ на диск можно при помощи программы Brasero.
Комментарии
pomodor
18 марта, 2015 - 20:08
Лучше всё же из /dev/zero. Зачем тратить энтропийный пул хрен знает на что.
Формально это так, но лучше все же отметить, что bs — это block size.
Кстати, добавлю, что содержимое образа можно еще и запустить, если там загружабельная файловая система внутри:
kvm -m 1g -hda image.file
Sunrise
26 марта, 2015 - 17:29
Тогда уж проще создавать через touch, а затем просто указывать в mkfs после адреса файла размер файловой системы.
pomodor
26 марта, 2015 - 17:33
Проще, чем что?
comrade
18 марта, 2015 - 20:26
Ubuntu — wubi живёт в таком контейнере.
Было легко такой линукс списывать (уже настроенный) на виндозные компьютеры.
Я Xubuntu 12.04 так всем списывал.
Но теперь эта халява кончилась (из-за UEFI).
Хотя обходная возможность осталась – загрузчик можно на флешке сделать (а в UEFI включить загрузку с легаси-USB).
Можно, конечно, теперь настроенный линукс копировать (в т.ч., и из подобного контейнера) на выделенный раздел. А потом загрузку только настроить.
Но так пока не делал. «Честно» ставлю. Почти так же быстро получается (при минимальных настройках).
pomodor
18 марта, 2015 - 21:59
Wubi — это паллиатив. Надо резать раздел с Вантузом, не дожидаясь перитонита.
Чингачгук
2 ноября, 2016 - 16:02
Это все хорошо — вот сделал дд-шкой образ флешки — как с этим образом работать ?Можно ли его как то подмаунтить как физ устройство?
Чингачгук
2 ноября, 2016 - 16:07
а какой смысл делать загрузочную флешку? Чтобы ее монтировать? Она наверно для того и есть чтобы с нее грузиться )
Чингачгук
2 ноября, 2016 - 16:10
упс неправильно понял. Конечно можно смонтировать образ с опцией loop
Чингачгук
2 ноября, 2016 - 16:31
Спасибо.
У меня фряха уже разобрался.
Комментировать