Bu grub-pc versiyon 1.98 + 20100804-5ubuntu3 (Maverick Meerkat) ile.
Grub2 yükleyici geridöngü aygıtlarına yükleyebilir, ancak aygıt eşleyicisini kullanarak bağlarsanız, kafanız karışır ve bir LVM planınız olduğuna inanır ve gizemli bir şekilde eksik bir soyutlamadan şikayet edemezsiniz.
Bunun yerine, bölüm için geridöngü aygıtını kendiniz kurmalısınız , yani "/ dev / loop [0-9]" deseniyle eşleşmesi gereken bir ad , yani sonunda herhangi bir bölüm belirleyici yok:
kpartx -v -a /dev/loop0
losetup /dev/loop1 /dev/mapper/loop0p1
mount /dev/loop1 /mnt
(Eğer grub-mkconfig / update-grub bu birimde çalışmak istiyorsanız, o zaman bölme geri döngü altında / dev diski geri döngüsü bağlı ve gerektiği Not değil görüntü dosyasına doğrudan).
Görüntüyü bölümlemek için fdisk kullandığınızdan, bir msdos- style bölümleme tablosu (aka label) ve bir BIOS kullanarak önyükleme yaparsınız . Stage1 / boot.img dosyasının MBR'sine yerleştirilmesine ek olarak stage1.5 / core.img, hemen ardından bölümlenmemiş alana (!) Yerleştirme alanına yerleştirilir ve bunun için boşluk olması gerekir.
Püf noktası artık grub2 yükleyicisine bir cihaz haritası üzerinden geri döngü kurulumunuzun sanal makinedeki BIOS sürücülerine nasıl eşleneceğini anlatmak. (Grub1 mirasında bu doğrudan kabuğun içinde yapıldı). Muhtemelen bu görüntüyü ilk disk olarak başlatmayı planlıyorsunuz, bu nedenle uygun eşlemenin şu olacağını düşünüyorum:
mkdir -p /mnt/boot/grub
cat > /mnt/boot/grub/device.map <<EOF
(hd0) /dev/loop0
(hd0,1) /dev/loop1
EOF
Burada aygıt haritasını konuk disk görüntüsünün içine koydum, böylece grub.cfg önyükleme yapılandırma dosyasını oluşturabilirsiniz:
mount --bind /dev /mnt/dev
chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg
(Grub-pc paketinin kurulum sonrası programının cihaz haritasının üzerine yazılan bir prob kullanacağına dikkat edin (!), Bu yüzden kurulumdan sonra yazmanız ve grub-mkconfig / update-grub komutunu çalıştırmanız gerekir).
Şimdi yükleyiciyi ana bilgisayardan çalıştırın, misafir kurulumuna işaret edin:
grub-install --no-floppy --grub-mkdevicemap=/mnt/boot/grub/device.map --root-directory=/mnt /dev/loop0
Son olarak, resminizde qemu'yu başlatmadan önce burada ayarlanan her şeyi çıkarın:
umount /mnt/dev
umount /mnt
losetup -d /dev/loop1
kpartx -v -d /dev/loop0