Фундамент подсистемы Windows для Linux (WSL) - Ubuntu - это эмулятор POSIX, подобный среде Cygwin , которая помогает переносить некоторые команды / приложения на основе Linux, работающие на платформе Windows, в процесс Windows.
Он содержит уровень абстракции виртуальной файловой системы (vfs), которая имеет образы приложений, доступные только для чтения, и доступные для записи tmpfs на основе ОЗУ, а также не имеет контроля доступа для чтения необработанных устройств на хост-системе и не эмулирует необработанные устройства. для подсистемы.
от человека (fdisk):
Описание
Эта команда используется для создания и изменения таблицы разделов, а также для установки основной загрузочной записи (только для IA), которая
ставится в первый сектор фиксированного диска. Эта таблица используется
начальный этап начальной загрузки (или прошивка) для идентификации частей диска
зарезервированы для различных операционных систем, а также для определения
раздел, содержащий загрузчик второй стадии (активный Solaris
раздел). Аргумент rdevice должен использоваться для указания необработанного
устройство, связанное с фиксированным диском, например,
/dev/rdsk/c0t0d0p0.
Таким образом, WSL-Ubuntu не может успешно выполнить команду fdisk, поскольку у него нет собственного ядра для управления ресурсами хоста.
С другой стороны, Oracle VirtualBox - это виртуализированная система, которая имитирует полнофункциональную ОС, работающую на голом железе. Он моделирует собственное системное пространство и пользовательское пространство с помощью гипервизора виртуализации и управляет виртуальными ресурсами через ядро гостевой ОС. Вот почему выполнение команды fdisk было успешным в VirtualBox
Ссылка:
https://www.microsoft.com/en-us/research/wp-content/uploads/2013/01/posix-emulation-submitted.pdf
Кредиты: https://www.quora.com/How-is-Windows-Subsystem-for-Linux-different-from-running-Linux-on-Windows-in-a-VM