Как на самом деле создать образ флэшки (файл usb.vmdk)?

Модератор: Модераторы разделов

Аватара пользователя
жучара
Сообщения: 1113
ОС: астралинукс

Как на самом деле создать образ флэшки (файл usb.vmdk)?

Сообщение жучара »

Друзья! Есть виртуальная машина, надо чтобы она загружалась с флэшки. Для этого флэшку надо переделать в файл *.vmdk и потом выбрать его в качестве носителя и с него загрузиться и всё будет круто.

Как бы не так. Флэшка:

Shell

$ sudo ls -l /mnt/sde1
ls: невозможно получить доступ к '/mnt/sde1/support': Ошибка ввода/вывода
ls: невозможно получить доступ к '/mnt/sde1/qmenobjg.000': Ошибка ввода/вывода
итого 27024
-rwxr-xr-x 1 root root 34494 окт 27 13:24 autorun.ico
-rwxr-xr-x 1 root root 248 окт 27 13:24 autorun.inf
-rwxr-xr-x 1 root root 6881 окт 30 2023 bookmarks_30.10.2023.html
drwxr-xr-x 5 root root 4096 окт 27 13:13 boot
-rwxr-xr-x 1 root root 1434 ноя 2 2023 BOOTEX.LOG
-rwxr-xr-x 1 root root 386976 окт 27 13:13 bootmgr
-rwxr-xr-x 1 root root 1168736 окт 27 13:13 bootmgr.efi
drwxr-xr-x 4 root root 4096 окт 27 13:13 efi
d????????? ? ? ? ? ? qmenobjg.000
-rwxr-xr-x 1 root root 38310 июл 25 2023 qmenobjg.rar
-rwxr-xr-x 1 root root 80576 окт 27 13:13 setup.exe
drwxr-xr-x 5 root root 20480 окт 27 13:13 sources
d????????? ? ? ? ? ? support
drwxr-xr-x 2 root root 4096 окт 27 13:13 'System Volume Information'
-rwxr-xr-x 1 root root 25889995 ноя 14 21:15 Wired_driver_29.3_x64.zip
-rwxr-xr-x 1 root root 2583 окт 30 2023 yandex_browser_passwords_2023-10-30.csv
$
Файловая система FAT32 видно, что там чего-то есть (флэшка загрузочно-восстановительная для винды). Вот хотелось бы это чего-то перенести в файл usb.vmdk Поехали. Сперва смотрим, что текущая папка ПУСТАЯ

Shell

user@debian:~/Desktop/foo$ ls -l
итого 0
user@debian:~/Desktop/foo$


Флэшку (/dev/sde1) отмонтировали и поехали дальше. Собсно создаём usb.vmdk:

Shell

user@debian:~/Desktop/foo$ sudo vboxmanage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /dev/sde

The 'createrawvdk' subcommand is deprecated. The equivalent functionality is
available using the 'VBoxManage createmedium' command and should be used
instead. See 'VBoxManage help createmedium' for details.

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...NS_ERROR_INVALID_ARG
VBoxManage: error: Failed to create medium
VBoxManage: error: Cannot register the hard disk '/home/user/Desktop/foo/usb.vmdk' {cee86157-61a5-4da8-a426-c10da2853b41} because a hard disk '/home/user/Desktop/foo/usb.vmdk' with UUID {52f08e44-0597-45a7-9d9e-c285452132d5} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBoxWrap, interface IVirtualBox
VBoxManage: error: Context: "RTEXITCODE handleCreateMedium(HandlerArg*)" at line 630 of file VBoxManageDisk.cpp
user@debian:~/Desktop/foo$


Грустно от этой бредятины (оно ещё и до кучи врёт, что файл /home/user/Desktop/foo/usb.vmdk уже существует, хотя я показал в самом начале, что его нет). Выхлоп- файл в 536 байт:

Shell

user@debian:~/Desktop/foo$ ls -l
итого 4
-rw------- 1 root root 536 дек 16 21:37 usb.vmdk
user@debian:~/Desktop/foo$


хз чё всё это значит. (Без sudo вообще ничего не создаёт).

+++++++++++++++++++++++++++++++++++++++++++++++++

Выше оно пишет, что
The 'createrawvdk' subcommand is deprecated. The equivalent functionality is available using the 'VBoxManage createmedium' command and should be used instead. See 'VBoxManage help createmedium' for details.
Ну то есь надо использовать команду "VBoxManage createmedium"
Что ж, давайте попробуем. Целевая папка пустая:

Shell

user@debian:~/Desktop/foo$ ls -l
итого 0
user@debian:~/Desktop/foo$
Только на минуточку, мне же нужно наполнить файл *.vmdk содержанием флэшки, а куда же мне в командную-то строку пихать пусть к флэшке. в моём случае /dev/sde?:
тут вывод команды VBoxManage help createmedium
user@debian:~/Desktop/foo$ VBoxManage help createmedium
Oracle VM VirtualBox Command Line Management Interface Version 7.0.18
Copyright (C) 2005-2024 Oracle and/or its affiliates

VBoxManage createmedium -- Создает новый носитель.

Использование
=============

VBoxManage createmedium [disk | dvd | floppy] <--filename=имя-файла> [--size=мегабайты | --sizebyte=байты] [--diffparent=
UUID | имя-файла ] [--format= VDI | VMDK | VHD ] [--variant Standard,Fixed,Split2G,Stream,ESX,Formatted,RawDisk]
--property имя=значение... --property-file имя=/путь/к/файлу/со/значением...

Описание
========

Команда VBoxManage createmedium создает новый носитель, такой как файл образа диска.

Для совместимости с ранними версиями Oracle VM VirtualBox можно использовать команды
createvdi и createhd вместо команды createmedium.

disk | dvd | floppy
Указывает тип носителя. Значение по умолчанию disk.

--filename=<имя-файла>
Указывает абсолютный путь к файлу в файловой системе хоста.

--size=<мегабайты>
Задает емкость образа в мегабайтах.

--sizebyte=<байты>
Задает емкость образа в байтах.

--diffparent=<UUID> | <имя-файла>
Указывает Универсальный Уникальный Идентификатор (UUID) или абсолютный путь к
родительскому файлу разностного образа в файловой системе хоста.

Используйте этот файл для совместного использования базового образа диска
между ВМ.

--format=VDI | VMDK | VHD
Задает формат выходного файла. Допустимые форматы VDI, VMDK и VHD. Формат по
умолчанию VDI.

--variant=Standard,Fixed,Split2G,Stream,ESX,Formatted,RawDisk
Задает варианты формата файла для целевого носителя в виде списка значений
разделенных запятыми. Допустимы следующие значения:

- Standard - это тип образа диска по умолчанию. Динамически расширяющийся файл.
- Fixed использует файл образа диска фиксированного размера.
- Split2G показывает, что образ диска разделяется на сегменты по 2 ГБ. Это
значение только для VMDK.
- Stream оптимизирует образ диска для загрузки. Это значение только для VMDK.
- ESX используется в некоторых продуктах VMWare. Это значение только для VMDK.
- Formatted

- Только для образов флоппи. Автоматически форматирует носитель.
- RawDisk используется для создания raw дисков. Это значение только для VMDK.

-

Заметим, что не все комбинации вариантов допустимы. Указание несовместимых
значений вариантов в списке ведет к выдаче сообщения об ошибке.

--property <имя>=<значение>
Задает требуемые параметры, зависящие от формата файла в форме ключ=значение.
Опционально.

--property-file <name>=</path/to/file/with/value>
Задает требуемые параметры, зависящие от формата файла в форме
key=файл/со/значением. Значение берется из файла. Опционально.


Примеры
=======

Следующая команда создает новый файл образа диска, называемый disk01.vdi. Файл имеет
размер 1024 мегабайта.
$ VBoxManage createmedium --filename disk01.vdi --size 1024

Следующая команда создает новый файл образа флоппи диска, называемый floppy01.vdi.
Файл имеет размер 1 мегабайт.
$ VBoxManage createmedium floppy --filename floppy01.img --size 1
user@debian:~/Desktop/foo$
Некуда путь /dev/sde пихать. И то сказать, если создать usb.vmdk в графике (мышью то есть), то можно запросто так создать ПУСТОЙ фай usb.vmdk и подключить его к машине, только как с него грузиться- вообще непонятно. Он же пуст. В общем, спасибо, кто откликнется. Debian 12
Я просто читаю маны.
Спасибо сказали:
math
Сообщения: 294
Статус: Ъ участник
ОС: Artix (= Arch without systemd)

Re: Как на самом деле создать образ флэшки (файл usb.vmdk)?

Сообщение math »

А если VBoxManage convertfromraw /dev/sde usb.vmdk --format VMDK?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21374
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как на самом деле создать образ флэшки (файл usb.vmdk)?

Сообщение Bizdelnick »

жучара писал(а):
16.12.2025 20:05
оно ещё и до кучи врёт, что файл /home/user/Desktop/foo/usb.vmdk уже существует,
Ой ли?
VBoxManage showmediuminfo 52f08e44-0597-45a7-9d9e-c285452132d5
жучара писал(а):
16.12.2025 20:05
Некуда путь /dev/sde пихать.
И тут Вы до кучи врёте. --property RawDrive=/dev/sde
Добавлено (21:26):
Ну и да, я так и не понял, чего Вы на самом деле хотите добиться, но вот эти вот команды, которые Вы пытаетесь использовать, не создают образ флешки, а создают образ, ссылающийся на флешку.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: