tuchin
При такой записи пункта меню:
...
initrd (loop)/arch/boot/x86_64/archiso.img"
А что это там за кавычка в конце последней строки? С ней точно вывалитесь.
scorpid, вы явно что-то не так поняли :)
loopback loop1 $isofile
linux (loop1)/arch/boot/x86_64/vmlinuz archisolabel=ARCHBANG img_dev=/dev/disk/by-uuid/$root_uuid img_loop=$isofile earlymodules=loop1
1) Поскольку образ подключается к певдоустройству loop1 внутри меню (а значит, на этапе выполнения конкрентного пункта), для него не обязательно каждый раз выдумывать новое имя loop1, loop2 и т.д.
2) Параметр earlymodules=loop относится не к псевдоустройству груба, а к модулю loop ядра Linux, и его не нужно (и нельзя, если параметр действительно используется образом!) "подстраивать" под придуманное вами имя псевдоустройства.
tuchin
Я только начинаю изучать ArchLinux и мне многое непонятно. Можете показать осмысленно поправленный код для загрузки ArchLinux ISO при известном имени и расположении файла ISO?
Именно поэтому я написал целую страницу текста, где подробно разжевано, как в grub подключать образы.

Специально для вас, привожу тупой код, в котором надо править имя файла для каждого нового образа.
В первой строке кода внутри меню вы вручную задаёте путь к образу, который присваивается переменной $iso .
После этого, в переменную $root_uuid GRUB САМ прочтёт UUID раздела, а в переменную $isolabel – метку тома изнутри образа, после чего сам подставит значения всех трёх переменных в параметры ядра, для передачи их образу после запуска.
menuentry "Arch Linux ISO" {
probe -s root_uuid -u $root
iso="/путь/относительно/раздела/к/образу.iso"
loopback loop "$iso"
probe -s isolabel -l loop
linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=$isolabel img_dev=/dev/disk/by-uuid/$root_uuid "img_loop=$iso" earlymodules=loop
initrd (loop)/arch/boot/x86_64/archiso.img
}
Обратите внимание:
1) Здесь НЕ задаётся $root, потому что предполагается, что GRUB (каталог grub и "конфиг" grub.cfg) расположен на том же разделе той же флешки, где лежит и сам образ.
2) Путь именно относительно раздела, то есть НЕ должен содержать ни грубовского обозначения раздела (который в скобках), ни точки монтирования в линуксе – только /каталоги/внутри/раздела/файл.iso
tuchin
А если имя и расположение образа известно, то зачем городить такой огород? Почему нельзя просто загрузить образ при таких условиях?
Да запросто, просто тогда надо осмысленно править код, а не тупо копипастить :)

Однако, этот пример придуман именно для флешки, чтобы образ можно было добавить или обновить, не меняя больше ничего.
tumanovalex, я же писал, что код для загрузки из iso-образа от Arch не требует исправления и работает "как есть", надо только задать путь от корня раздела в переменной dir, если образ лежит в разделе, откуда стартует GRUB, и дополнительно раздел root, если образ лежит на другом разделе.

К примеру, вот так я грузился с образа вообще безо всяких флешек, когда обновлялся с i686 на x86_64 :
submenu "ArchLinux ISO" {

set root=hd0,4
dir=/user/DATA/Linux/ArchLinux
arch=x86_64
insmod regexp               # для шаблонов * в именах файлов
probe -s root_uuid -u $root # получаем UUID для подстановки в img_dev=

for iso in $dir/archlinux-*-$arch.iso ; do      # ищем образ(ы) Arch по шаблону
 if [ ! -f "$iso" ] ; then continue; fi        # только если образ существует
 regexp -s build 'archlinux-(.+)-'$arch "$iso"  # получаем из имени образа дату сборки

  menuentry "Arch Linux ISO $build $arch" --source="\
loopback loop $iso
probe -s isolabel -l loop
linux (loop)/arch/boot/$arch/vmlinuz archisolabel=\$isolabel img_dev=/dev/disk/by-uuid/$root_uuid img_loop=$iso earlymodules=loop
initrd (loop)/arch/boot/$arch/archiso.img"

done

}
здесь
set root=hd0,4
я задал указал раздел, где у меня лежит /home , а тут
dir=/user/DATA/Linux/ArchLinux
я указал путь к образу относительно /home

Как и написано в вике, этот кусок кода генерит подменю, и автоматически выводит в нём по одной строке на каждый найденный в заданном каталоге образ Арч.
Язык сценариев для GRUB сделан по образу и подобию обычного юникс-шелла.
В том числе, там есть обычная команда echo
Можете вставить её куда надо и выводить переменные в нужных местах.

Кроме того, все те же команды вы можете выполнять не только в меню, но и просто в консоли груба, чтобы посмотреть, что получается после каждой из них.

P.S.
Насколько я понимаю, ваша ошибка в необдуманном копипасте. Дело в том, что вот это:
archisolabel=\$isolabel
я писал внутри строки --source=" ... ", и заэкранировал переменную именно для того, чтобы она попала в список команд меню как переменная, а не значение.

Вы у себя заменили --source="" на фигурные скобки {} , а значит и экранирование нужно убрать:
archisolabel=$isolabel
i686
Хост-модули VirtualBox (virtualbox-host-dkms или virtualbox-host-modules-arch) не загружаются, если собраны gcc-7.

Те же модули, собранные временно откаченным gcc-6, работают, несмотря на то, что ядро собрано gcc-7.

Соответственно, интерфейс VirtualBox из репозитория Arch, требует qt5, собранный gcc-7, поэтому временно откаченный для сборки модулей gcc, нужно вернуть обратно.
i686
После обновления glibc 2.25-1 > 2.25-2 начал сегфолтится mkinitcpio-busybox, встроенный в initramfs.
Ошибка вылезает не сразу, а после обновления ядра и пересборки initramfs, после чего перезагрузка приводит к kernel panic из-за сегфолта процесса init.

Лечение: под другим ядром (LTS), если его initramfs ещё не успели пересобрать, или под внешней системой, откатить glibc на 2.25-1 и пересобрать initramfs.
nafanja
гуи используют стандартные методы работы с zip. а natspec не стандартное решение
Используется не natspec, а консольные zip и unzip.
То, что они (стандартные!) заменены одноимёнными, но пропатченными версиями с поддержкой кодировки, и есть прозрачное решение проблемы.
libnatspec – зависимость только этих двух пакетов, цепляние его к третьим программам не требуется.

Итак, ещё раз: ГУИ, которые используют для упаковки-распаковки формата ZIP стандартные средства в виде zip и unzip, позволяют решить проблему вышеуказанным способом.
ГУИ, которые используют другие средства – требуют другим методов решения.

К сожалению, стандартных средств для linux, поддерживающих национальные кодировки в zip-архивах, мне не известно, если вы знаете – поделитесь :)

На момент, когда я изучал этот вопрос (в 2010 году) их точно не было. По такому случаю я нашел и слегка доработал патчи от AltLinux, реализующие такую возможность в стандартных zip и unzip через их разработку libnatspec, и даже отправил статью с анализом и решением на OpenNet.
Впоследствии, я перешел на Арч и оформил своё решение в виде пакетов в AUR.

На тот момент, все известные мне ГУИ с поддержкой zip-архивов использовали именно эти утилиты, однако со временем, стали появляться новые, использующие какие-то библиотеки или встроенные средства, на форточный манер. Сам я ими не пользуюсь, и потому поиском решений для них не занимался. Если есть желание – можете попробовать.
RusWolf
где у тебя такая жалоба выскакивает?
В консоли, вестимо, без неё просто не видно, почему не запустилось :)
При попытке запуска любой программы, использующей qt5, например transmission-qt и VirtuialBox.