Bir Windows (NTFS) .img dosyasını bir bölüme nasıl yazıp gruba ekleyebilirim?


3

Burada çılgınca şeyler deniyorum. İlk önce .vdi formatını kullanarak Windows XP yüklü bir VirtualBox makinem vardı. Sonra görüntüyü bir OVA'ya aktardım, .vmdk dosyasını çıkarttım ve onu ham .img dosyasına dönüştürdüm. Daha sonra virt-manager ile KVM'ye yeni bir VM oluşturdum, bu görüntüyü sabit disk olarak yükledim ve çalıştırdım.

Şimdi, bu görüntünün tamamını bir disk bölümüne kopyalayıp, ddbu görüntünün içindeki ilk NTFS bölümünü önyüklemesinde, üzerinden başlatmaya çalışıyorum grub. Şimdiye kadar, görüntünün içindeki ilk bölümü zaten belirledim (asıl NTFS bölümü) ve hem gParted tarafından NTFS olarak tanındı hem de Windows kurulumu olarak gruba girdim, ancak önyükleyemiyorum. Bu yüzden, bölüm tablosu, önyükleme kesimi ve benzeri dahil tüm resmi bu /dev/sda4fiziksel bölüme kopyalamaya çalıştım . Şimdi görüntü KVM üzerinden önyükleniyor, ancak Grub'a eklemenin bir yolunu bulamıyorum. Döngü montajı yoluyla bunu yapmanın bir yolunu bulmaya çalışıyorum, sadece bu görüntüyü nasıl monte edeceğini / haritalandıracağını / çizeceğini ve içerisindeki ilk (NTFS) bölümüne erişeceğimi bilmiyorum.

Yapmak istediğim şey:

- Turn my XP image into a valid physical installation to dual boot
- Keep the VM running from this disk partition

Bu şekilde, mümkünse VM'yi Ubuntu'da kullanacağım veya gruba yükleyeceğim.

Netleştirmek için, kullandığım komutlar:

$ sudo su

# mounts the entire image
$ losetup /dev/loop0 /path/to/WindowsXP.img
$ fdisk -l /dev/loop0

> Device        Boot    Start   End         Blocks      Id  System
> /dev/loop0p1  *       63      31439204    15719571    7   HPFS/NTFS/exFAT

# mounts the first NTFS partition inside image (offset 63*512)
$ losetup /dev/loop1 -o 32256 /dev/loop0

Bu noktada, hem NTFS bölümü hem /dev/loop1de tam disk (MBR ile) açık /dev/loop0. Sonra:

# copied the entire image to /dev/sda4. This is not recognized by GRUB, 
# therefore it must be loopmounted before booted via grub config somehow
$ dd if=/dev/loop0 of=/dev/sda4 bs=10m

# copied the NTFS virtual partition to physical one
# GRUB should recognize and boot it, since is a valid XP install, however it misses the partition table,
# so the virtual machine won't be able to boot it.
$ dd if /dev/loop1 of=/dev/sda4 bs=10m

Alternatif olarak, VM'ye ekli ikinci bir disk görüntüsü düşündüm, sadece GRUB ve bu bölümü başlatmak için minimum bilgi. Bu yolla, NTFS bölümünü /dev/sda4çift ​​önyükleme yapmak üzere toplamaya ve KVM'deki ikinci küçük bir görüntüden önyüklemeye devam edebilirim.

Fikirler?

Yanıtlar:


0

Feragatname: Bu bir öneridir, iyi bilgilendirilmiş bir cevap değildir.

Windows bölümünü yasal bir fiziksel bölüme ( /dev/sda4) kopyalayabildiğiniz için ( ) neden /dev/sdasanal bir makinede önyükleme yapmıyorsunuz ? GRUB'da Windows seçeneğini seçerek daha sonra Windows bölümüne başlatabilirsiniz. Bu tür bir kurulum daha önce yapıldığı anlaşılıyor: https://bbs.archlinux.org/viewtopic.php?id=68216


Cevap için teşekkürler! /dev/sdaDoğrudan önyükleme yapabileceğimi bilmiyordum qemu /dev/sda. Bu benim testleri çok daha kolay hale getirecek. Bir VM'de çalıştırma özelliğini kaybetmeden donanıma doğrudan erişimi sağlamak ve bazı oyunları oynamak için XP'yi bir çift açılış olarak başlatmak istedim. En iyi çözüm, /dev/sda4çift ​​önyükleme seçeneğini etkinleştirmek için yeni bir XP kurulumu ve grubun yeniden kurulması olduğunu düşünüyorum . Deneyeceğim.
Darlan Alves
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.