Проверка работы загрузочной флешки(или USB-HDD) с помощью виртуальной машины Qemu
Для загрузки систем на базе x86 вы можете использовать команду:
sudo qemu-system-i386 -boot c -drive file=< наше устройство в каталоге /dev/>,cache=none -m 256
Стоит заметить, что раньше для запуска qemu с эмуляцией архитектуры x86 я мог просто набрать qemu вместо qemu-system-i386, но в Ubuntu 12.10 нет символической ссылки с qemu на qemu-system-i386, так что нужно набирать длинное название исполняемого файла.
Для ОС архитектуры x86_64, загружаемых с нашего устройства:
sudo qemu-system-x86_64 -boot c -drive file=< наше устройство в каталоге /dev/>,cache=none -m 256
Вместо команды qemu-system-< архитектура> можно использовать команду kvm(если у вас установлена виртуальная машина kvm). KVM работает заметно быстрее, чем Qemu. Но не поддерживает эмуляцию архитектур, отличных от архитектуры хоста(компьютера, на котором вы запускаете виртуальную машину), и требует поддержки аппаратной виртуализации вашим процессором. Если kvm не работает на вашем компьютере, ничего страшного. Используйте Qemu.
Параметр boot c говорит нашей виртуальной машине, что загрузка должна начинаться с жёсткого диска.
Параметр -drive file=< наше устройство в каталоге /dev/>,cache=none указывает, что в роли дискового устройства будет использован файл из каталога /dev/(как вы догадались, это наше дисковое устройство(флешка или винт), которое мы хотим загрузить в виртуальной машине). Обратите внимание на cache=none. Мы запрещаем виртуальной машине кешировать файлы с дискового устройства с которого производим загрузку. Кеширование в нашем случае должно быть отключено, иначе на этапе редактирования конфигурации загрузчика вы не будете понимать, почему в виртуальной машине постоянно загружается старая версия конфигурации. Я как-то очень нервничал из-за того, что Qemu не замечал изменения в grub.cfg, и загружал мне целый час grub.cfg, в котором был только пункт Halt.
Параметр -m 256 выделяет 256 мегабайт оперативной памяти нашей виртуальной машине. Если вы хотите протестировать загрузку Windows 8 или Ubuntu Linux, советую выставить хотя-бы 512 мегабайти, но для проверки работоспособности загрузчика даже 256 мегабайт будет очень много:)
На десерт я оставляю вам скриншот, демонстрирующий приглашение свежеустановленного на flash-брелок (вы же помните, как установить GRUB2 на флешку) загрузчика, загруженного в виртуальной машине Qemu: