Создайте статически связанную версию из исходного кода.
Загрузите https://www.gnu.org/software/xorriso/xorriso-1.4.6.tar.gz в каталог, в котором вы хотите создать xorriso
tar xzf xorriso-1.4.6.tar.gz
cd xorriso-1.4.6
touch xorriso/*.info
./configure && make
Я предполагаю, что вам нужны пакеты build-essential и tar .
Команда touch xorriso/*.info устраняет необходимость в программе makeinfo из пакета texinfo которая может возникать в редких случаях из-за неудачной последовательности файлов в xorriso-1.4.6.tar.gz . (Симптомы сбоев см. В комментарии пользователя 3808099, 12 октября, 18:56. Это не может произойти в реальном Debian или Ubuntu, потому что там tar без опции -m восстанавливает временные метки из архива tar.)
Успех должен дать двоичный файл, который запускается
xorriso/xorriso -version
должен сказать что-то вроде
GNU xorriso 1.4.6 : RockRidge filesystem manipulator, libburnia project.
...
There is NO WARRANTY, to the extent permitted by law.
Если это так, то вы можете использовать полный путь к исполняемому двоичному файлу в качестве аргумента опции grub-mkrescue --xorriso .
grub-mkrescue -o grub.iso --xorriso=/...path.../xorriso-1.4.6/xorriso/xorriso prepared_directory
Предполагается, что вы можете переместить исполняемый бинарный файл в любое другое место хранения, если вам это удобнее.
Хотя проблема с сборкой GNU xorriso в подсистеме Win10-Ubuntu не была диагностирована, я добавил следующие инструкции по созданию двоичного файла на реальном Ubuntu без зависимостей ядра Linux, что, вероятно, не позволило xorriso выйти из репозитория Win10-Ubuntu.
Если xorriso/xorriso уже встроен в дерево xorriso-1.4.6 , то сначала удалите все результаты компиляции:
make clean
Создайте конфигурацию, которая не относится к специфическим функциям Linux, и скомпилируйте:
export CFLAGS="-DLibburn_use_sg_dummY"
./configure --disable-libacl --disable-xattr --disable-zlib --disable-libreadline
make
Полученный файл xorriso/xorriso должен быть скопирован в подсистему Win10-Ubuntu. Попробуйте /...path.../xorriso -version ли он начать (то есть найдет ли он необходимые библиотеки).
xorriso собирает и работает на Win10-Ubuntu с «GNU /Linux SG_IO адаптер sg-linux».
Но ioctl(SG_IO) или доступ к оптическим дискам, похоже, не реализован.
Диски не обнаружены.
Так что, кажется, лучше вызвать компиляцию -DLibburn_use_sg_dummY с «X /Open adapter sg-dummy», которая не зависит от специфики Linux и вообще не пытается работать с оптическими приводами.