Чтобы ответить на TJJ: Но возможно ли это сделать без копирования всего файла? Итак, просто как-то создать дополнительный vmdk-метафайл, который ссылается на необработанный dd-образ.
Да , это возможно. Вот как использовать образ плоского диска в VirtualBox:
Сначала вы создаете образ с помощью dd обычным способом:
dd bs=512 count=60000 if=/dev/zero of=usbdrv.img
Затем вы можете создать файл для VirtualBox, который ссылается на это изображение:
VBoxManage internalcommands createrawvmdk -filename "usbdrv.vmdk" -rawdisk "usbdrv.img"
Вы можете использовать это изображение в VirtualBox как есть, но в зависимости от гостевой ОС оно может быть не сразу видно. Например, я экспериментировал с использованием этого метода в гостевой ОС Windows, и мне пришлось сделать следующее, чтобы указать букву диска:
- Перейти к панели управления.
- Перейти в Администрирование.
- Перейти к управлению компьютером.
- Перейдите в раздел Хранилище \ Управление дисками на левой боковой панели.
- Здесь вы увидите свой диск. Создайте на нем раздел и отформатируйте его. Используйте FAT для небольших томов, FAT32 или NTFS для больших томов.
Возможно, вы захотите получить доступ к вашим файлам в Linux. Сначала обязательно отключите его от гостевой ОС и удалите его из виртуальной машины. Теперь нам нужно создать виртуальное устройство, которое ссылается на раздел.
sfdisk -d usbdrv.img
Ответ:
label: dos
label-id: 0xd367a714
device: usbdrv.img
unit: sectors
usbdrv.img1 : start= 63, size= 48132, type=4
Обратите внимание на начальную позицию раздела: 63. В приведенной ниже команде я использовал loop4, потому что это было первое доступное устройство loop в моем случае.
sudo losetup -o $((63*512)) loop4 usbdrv.img
mkdir usbdrv
sudo mount /dev/loop4 usbdrv
ls usbdrv -l
Ответ:
total 0
-rwxr-xr-x. 1 root root 0 Apr 5 17:13 'Test file.txt'
Ура!