VirtualBox VDI içeriğini bir bölüme nasıl kopyalayabilir ve işletim sistemini ondan nasıl çift önyükleyebilirim?


12

Ben bir Linux kullanıcısıyım ama sıkıştırılmış bir Windows XP ISO'yu bir kalem sürücüsünde yanımda tutuyorum çünkü kesinlikle bir şeyler yapmak için Windows'a ihtiyacım var. Bu, çoğu zaman VirtualBox'ta çalışır.

Ama şimdi bazı oyunlar oynamak istiyorum, bu yüzden Windows görüntüsünü doğal olarak çalıştırmak istiyorum. Bilgisayarımın CD sürücüsü yok, bu yüzden sadece ISO yazamıyor ve normal bir kurulum yapamıyor.

Yapmaya çalıştığım şey, yüklü Windows görüntüsünü HDD'imdeki fiziksel bir NTFS bölümüne taşımak ve GRUB'u ikili önyüklememe izin verecek şekilde ayarlamak.

Fiziksel sürücüye VDI yapmakla ilgili birçok öğretici buldum. Ama tüm sürücümün üzerine yazmak istediğimi varsayıyorlar. Ham disk görüntüsünü ddbölüme taşımak bozuk bölümle sonuçlandı.

Ayrıca bu boş bölümü kullanmak ve Windows'u üzerine yüklemek için VMDK hile denedim. Yüklemenin metin modu aşaması sorunsuz bir şekilde bitse de, VM çalışmaz, kilitlenir ve yeniden başlatmaya devam eder veya hemen donar (VMDK'yi nasıl oluşturduğuma bağlı olarak -rawdisk /dev/sda3veya veya -rawdisk /dev/sda -partition 3).

Yanıtlar:


4

Dünü araştırmalarla geçirdim ve sonunda Windows XP önyükleme yapabildim. Diğer işletim sistemleri için de biraz benzer olmalıdır. Ancak operasyon her şeydir, ancak önemsiz değildir.

Bu tehlikeli bir işlem olduğundan, değerli verilerinizi yedeklemenizi öneririm.

İşte adımlar:

Hazırlık

Windows XP durumunda, geçerli disk harfini ve bölüm ayarlarını unutturmanız gerekir, bu nedenle geçişten önce sanal makinedeki HKEY_LOCAL_MACHINE / MountedDevices anahtarındaki tüm değerleri silmeniz gerekir. Çekirdek bir sonraki yeniden yüklemede yeniden oluşturacaktır. Linux sanal makinelerinde bu, geçişten sonra fstab'ın düzeltilmesi anlamına gelir.

VDI görüntüsünün montajı

Bir MBR de içerdiğinden, VDI'nin tamamını bir bölüme kopyalayamazsınız. Sadece sanal bölümü kopyalamanız gerekir, bu yüzden önce VDI'yı monte etmek için bir yol bulmanız gerekir.

nbdSürücüye ve qemu-nbdkomuta ihtiyacınız var . Ubuntu'da qemu-kvmpaketin içinde.

Önce nbd sürücüsünü yükleyin:

# modprobe nbd

Bu, bazı nbdcihazları içeri almalıdır /dev.

Ardından VDI'yi takın:

# qemu-nbd -c /dev/nbd0 path_to.vdi

Bu yapmalıdır /dev/nbd0p1, /dev/nbd0p2, /dev/nbd0p3bütün sanal bölümleri için vb. Bunlar sıradan cihazlar gibi monte edilebilir.

Bölümü taşıma

Bunun için kullanın dd, işlemden önce her iki bölümü de çıkarın:

# dd -if=<nbd_device> -of=<real_partition>

Örneğin.:

# dd -if=/dev/nbd0p3 -of=/dev/sda4

İşletimi ddbu birkaç dakika, hatta yarım saat sürebilir, sessizdir. Operasyon sırasında bir terminal açabilir ve fdisk -lher şeyin yolunda gittiğini görmek için kullanabilirsiniz .

GÜNCELLEME:

Görünüşe göre nbd kusursuz bir çözüm değildir. G / Ç hatasına neden olabilir ve dd'nin başarısız olmasına neden olabilir. Üstelik sonraki deneme hemen başarısız olur. Bu komutla (linux altında) ham disk VMDK oluşturmayı da deneyebilirsiniz:

$ VBoxManage internalcommands createrawvmdk -filename physical.vmdk -rawdisk /dev/sda

diskÇalışması için grupta olmanız gerekir . Sonra bu vmdk'yi sanal makineye ikincil sabit sürücü olarak ekleyin, sonra ddbölüme bir Canlı Linux ISO kullanın .

NTFS bölümünün önyükleme kesimini düzeltme

Bu hackish kısmı.

Neredeyse hazırız, ancak Windows XP önyükleme yapmıyor, çünkü dosya sisteminin gizli sektörlerinin sayısını ofset olarak ayarlamamız gerekiyor 0x1C. Bu temelde NTFS bölümünden önce bir dizi sektör. Bu numarayı fdisk -ulkomuttan alabiliriz. startTemelde bölme önce sektörlerin sayısıdır verilen bölüm başlar sektör çıkış durumlarının bir alan. O zaman sayıyı oradan alın, örneğin gcalctool kullanarak onaltılık biçime dönüştürün.

Bölümü şu şekilde açın hexedit:

# hexedit /dev/sda4

Ardından, gizli sektörlerin sayısını 1Cofsette küçük endian düzeninde yazın . Küçük endiean demek: 0xABCDEFGHolacak GH EF CD AB. Hexa numarası 8 basamaktan kısaysa, önüne sıfır gelir.

İşiniz bittiğinde kaydedin ve çıkın (Ctrl + X).

GRUB'u ayarlama

GRUB'a bu bölümü doğrudan önyüklemesini söylemelisiniz, GRUB için aşağıdaki menü girişini ekleyin:

title       Microsoft Windows XP Professional
root        (hd0,3)
savedefault
makeactive
chainloader +1

Nerede (hdX, Y)bölümü tanımlar. X varsayılan sabit disk için 0, 1 için /dev/sda, 2 /dev/sdbvb. İçin . Y, bölüm numarasıdır. İçin 0 /dev/sda1, 1 için /dev/sda2vs.

Bu GRUB2 için de benzer olmalıdır, ancak menü girişleri için biraz farklı bir sözdizimi kullanır.

Son dokunuşlar

Yeni NTFS bölümü önyüklemeye hazırdır. Ancak yine de Windows XP masaüstüne erişmek için bazı saldırılara ihtiyacınız var. Diğer sistemlerin farklı saldırılara ihtiyacı olabilir. Öncelikle boot.ini dosyasının düzeltilmesi gerekir.

[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

Sipariş numarasını buna göre ayarlayın. / Dev / sda4 üzerine yükledim. Bu yüzden bölüm numarası 3 olmalıdır.

Windows oturum açma ekranından hemen önce donarsa, MountedDevices girdisini kayıt defterinde düzeltmeniz gerekebilir.

Kayıt defteri <path to windows>/system32/config/systemsize göre görüntüleyebilirsiniz chntpw. Sistem sürücü chntpwharfiniz C değilse bu bir sorun olabilir. 'S kayıt defteri yazma yetenekleri oldukça sınırlı olduğundan, geri dönmek ve ghex2 gibi bir hexeditor kullanmanız gerekir. Benim durumumda \DosDevices\C:, C'yi bulup farklı bir sürücü harfiyle değiştirmeniz gerekiyor F.

Bundan sonra, masaüstüne erişebilmelisiniz, şimdi tüm sürücüler için avlanmanız gerekiyor, ancak bu bu öğreticinin kapsamı dışında.

Kaynaklar

Windows XP'yi farklı bir bölüme taşıma

Linux altında bir VDI monte edin


0

taht yapmak için partimage ve gdisk kullanmayı deneyebilirsiniz. Gdisk veya başka bir bölüm programı alın ve geçerli diskinizi yeniden boyutlandırın / bir yere disk üzerinde bir bölüm oluşturun. kesinlikle birincil bölüm olacak. Genellikle Windows için bölüm 1 ve linux verileri için 2+ tutarım.

bir bölüm kurulduktan sonra gdisk veya başka bir hayalet klonunu kullanarak diğer sürücüye yedekleme dosyaları veya düz görüntü yapabilirsiniz. dosyayı bu şekilde bırakmanız gerekiyorsa veya img dosyalarını oluşturabilir, ardından vmdk dosyasından ana sisteminize kopyalayabilirsiniz ... sonra bölümü geri yüklemek için görüntü yazılımını kullanabilirsiniz. ana bilgisayar sisteminde oluşturduğunuz konuma

grub'u o ntfs bölümüne önyükleme eklemek için gereken şekilde yapılandırın.


Ayrıca, görüntü yazılımının ana bilgisayar jsut'undan doğrudan okumasına izin verecek bir mannterdeki vmdk'yi de yapıştırabilirsiniz.
Kendrick

Dünü araştırmalarla geçirdim ve sonunda Windows XP önyükleme yapabildim. Bunu ayrıntılı olarak yazacağım. Önemsiz değil.
Calmarius

oldukça ironik ama yakında bu işlemi yapmam gerekecek. Ben herhangi bir nedenle solaris yüklemeyi sevmeyen bir pc var, bu yüzden yeni bir makineye sahip olduğum bir vm'den veri çekmek zorundayım.
Kendrick
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.