Создание виртуального диска при помощи команды 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.

Оценка: 
5
Средняя: 5 (3 оценки)

Комментарии

Для создания файла образа можно использовать команду dd, задав копирование из /dev/urandom

Лучше всё же из /dev/zero. Зачем тратить энтропийный пул хрен знает на что.

bs (сколько байтов копировать за один раз)

Формально это так, но лучше все же отметить, что bs — это block size.

Кстати, добавлю, что содержимое образа можно еще и запустить, если там загружабельная файловая система внутри:

kvm -m 1g -hda image.file

Оценка: 
Пока без оценки

Тогда уж проще создавать через touch, а затем просто указывать в mkfs после адреса файла размер файловой системы.

Оценка: 
Пока без оценки

Проще, чем что?

Оценка: 
Пока без оценки
comrade аватар

Ubuntu — wubi живёт в таком контейнере.
Было легко такой линукс списывать (уже настроенный) на виндозные компьютеры.

Я Xubuntu 12.04 так всем списывал.

Но теперь эта халява кончилась (из-за UEFI).
Хотя обходная возможность осталась – загрузчик можно на флешке сделать (а в UEFI включить загрузку с легаси-USB).

Можно, конечно, теперь настроенный линукс копировать (в т.ч., и из подобного контейнера) на выделенный раздел. А потом загрузку только настроить.
Но так пока не делал. «Честно» ставлю. Почти так же быстро получается (при минимальных настройках).

Оценка: 
Средняя: 5 (1 оценка)

Wubi — это паллиатив. Надо резать раздел с Вантузом, не дожидаясь перитонита.

Оценка: 
Пока без оценки

Это все хорошо — вот сделал дд-шкой образ флешки — как с этим образом работать ?Можно ли его как то подмаунтить как физ устройство?

Оценка: 
Средняя: 5 (1 оценка)

а какой смысл делать загрузочную флешку? Чтобы ее монтировать? Она наверно для того и есть чтобы с нее грузиться )

Оценка: 
Пока без оценки

упс неправильно понял. Конечно можно смонтировать образ с опцией loop

mount -o loop /путь_к_образу/образ.iso /mnt/disk

Оценка: 
Пока без оценки

Спасибо.

У меня фряха уже разобрался.

Оценка: 
Средняя: 1 (1 оценка)

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.