Bozuk bir Virtualbox makinesinden dosyaları kurtarın .vdi


23

Virtualbox üzerinde çalışan Ubuntu 12.04.1 yazılımını yüklerken alanım tükendi ve şimdi yeniden başlatılamıyor . Ondan kurtarmam gereken dosyalar var. Ben ubuntu64.vdibenim, Windows 7 (ana bilgisayar) dizüstü dosya ve vdi dosyasından dosyaları kurtarma herhangi bir yolu olup olmadığını merak ediyorum.

Paralel olarak, aynı dizüstü bilgisayardaki sanal kutuda 12.04.1 yeni bir makine ürettim ve bunu yerine çalışan yerine kullanacağım.

Borked'i vdiçalışan diskteki disk listesine ekleyebilirim . Sonra borked diski yerleştirmek için Gnome Nautilus kullandım.

Dosyaları orada bulabilirim, ancak yaklaşık 2 aylıklar. Sanırım bu makinenin sanal bir görüntüsünü en son yaptığım zamanla aynı zamana denk geliyor, ancak dün çalıştığım bir makineyi en son aldığımda değil. vdiDünden beri, kazadan hemen önce monte etmenin bir yolu var mı ?

REDAKTE:

İşte Virtual Media Managerbana dosyam hakkında ne söylüyor ubuntu64.vdi: görüntü tanımını buraya girin

EDITED2:

Çok ubuntu.vdifazla disk alanı olan harici bir USB'ye kopyaladım . Klonlamak için Windows'u kullanmayı denedim, ancak bir hata oluştu:

görüntü tanımını buraya girin

Aynısını çalışan VM'den USB sürücünün paylaşılan bir klasörü aracılığıyla denedim ve klonlamayı başlattı. İyi bir zaman aldı, ancak başarıyla tamamlandı:

root@precise64:/media/sf_E_DRIVE/copy_of_ubuntu64_vm_folder_20140224/ubuntu64# 
VBoxManage clonehd ubuntu64.vdi ubuntu64.raw --format RAW
0%...

10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'RAW'. UUID: 90f99198-18e1-40ee-85fe-c083dcbb1ac3

EDITED3:

Ham dosyasını oluşturduktan sonra, ben koşmak testdiskile Deeper Search, böyle bir liste olsun: görüntü tanımını buraya girin

Ater Deeper Searchbitti, şöyle bir liste alıyorum:

görüntü tanımını buraya girin

Ama hangisinin hangisi olduğunu bilmiyorum ... Herhangi bir fikrin var mı?


@Takkat, kulağa hoş geliyor. Bunu nasıl yapabilirim?
719016

@Takkat, ben gnome nautilus kullanarak yaptım ve monte ettim, ancak makinenin iki aylık bir versiyonunu monte ettiğine inanıyorum.
719016

2
Buradaki sorun diskin nasıl kurtarılacağı değil, anlık görüntüyle nasıl birleştirildiği. Eğer vdi'nizi klonlamaya çalışırsanız, başka bir uuid olur; anlık görüntü onunla çalışmaz ve en son verileri kaybedersiniz. Anlık görüntüleri düzenli kullanmıyorum, çünkü geçmişte bozulmuş disklerim vardı ve temel diski kurtarmayı başardım ancak her zaman deltaları kaybettim. Umarım burada birileri hem tabanı hem de deltayı kurtarmak için iyi bir tarif verir.
Pablo Marin-Garcia,

1
Bu bir dahaki sefere yöneliktir: verileri asla sanal makinede saklamayın, daima harici bir disk takmayın ... veya sık sık yedekleme / senkronizasyon yapmayın rsync.
Dee,

1
Orijinal diski değil en son anlık görüntüyü klonlamaya çalışın. Kullanmalısınız Vboxmanage clonehd 2208...(en yeni UUID'yi buraya kopyalayın). Bkz serverfault.com/a/506581/195528
Rmano

Yanıtlar:


21

Komut satırının

Ubuntu'yu ana bilgisayar olarak kullanmamız durumunda .vdi diskimizi aşağıdaki komutu kullanarak ham diske dönüştürebiliriz:

VBoxManage clonehd <sourcename> <clone.raw> --format RAW

Sanal sürücünün görüntüsündeki dosyaları kurtarmak için test diskini Testdisk'i yükle bu dosyayla açabiliriz (aşağıya bakınız):

testdisk <clone.raw>

Sanal bir makinenin

Bozuk VDI sürücü görüntüsünün Virtual Box'a hala kayıtlı olması durumunda, bu görüntüyü yeni sanal makinemize sürücü olarak ekleyebiliriz:

görüntü tanımını buraya girin

Kırık .vdi'yi eklediğimiz sanal Ubuntu'nuzu başlatın, ancak sürücüyü takmayın .

  1. Toplanan bölüm üzerinde toplanan verileri tutmak için bir dizin oluşturun (örn. ~/rescued),

  2. Sanal makineye test diskini yükleyin Testdisk'i yükle.

  3. Test diskini orada bir terminalden başlatın:

    sudo testdisk
    
  4. Veri toplamak için uygun sürücüyü seçin (burada gösterilmiştir /sdb) ve[Proceed]

    görüntü tanımını buraya girin

  5. Uygun bölüm düzenini seçin (genellikle Intel)

  6. Seç [Analyse]-[Quick Search]

  7. Toplanacak verileri içeren bölümü seçin (burada yalnızca bir NTFS bölümü mevcuttu):

    görüntü tanımını buraya girin

  8. P Bu partitondaki dosyaları listelemek için basın .

  9. Verileri içeren dizine göz atın. Doğru olanları seçtiğinizden emin olmak için dosya adlarını görüntüleyin.

  10. Kullanılacak hasat edilecek dizinleri veya dosyaları seçin : . Seçilen tüm dosyalar / dizinler yeşil renkle işaretlenir:

    görüntü tanımını buraya girin

  11. C Seçilen tüm dizinleri / dosyaları bir sonraki adımda seçilecek olan kurtarma dizinine kopyalamak için büyük harf tuşuna basın .

  12. Kurtarılmış verileri saklamak için Ubuntu VM'nizin bağlı bölümlerinden bir dizin seçin:

    görüntü tanımını buraya girin

  13. c Verileri, bozuk .vdi'den sağlıklı VM'nizdeki kurtarma dizinine kopyalamaya başlamak için düğmesine basın .

Notlar:

  • 6.[Quick Search] seçenekle dosyalarımızı göremezsek 6 durumunda bir işlem yapmamız gerekebilir [Deeper Search]. Bu ayrıca önceden silinmiş ve üzerine yazılmış bölümleri de listeler. Dolayısıyla, verilerimizin bulunduğu uygun bölümleri seçtiğinizden emin olmalıyız.

  • .Vdi'nin anlık görüntülerini almış olsaydık bunları bulabiliriz, ~/.VirtualBox/Machines/<Name of Machine>/Snapshots/{###}.vmdkancak Sanal Kutunun anlık görüntü özelliğini kullandığımızda, anlık görüntüden gelen herhangi bir değişiklik bir diferansiyel dosyaya yazılır.

    Diferansiyel dosyayı sabit diskle birleştirmek için tüm anlık görüntüleri silmemiz gerekir (bu, muhtemelen istediğimiz şey değildir; o zaman veri kurtarma çağrısı yerine önceki anlık görüntüye geri yükleyebiliriz) veya aşağıdakileri kullanarak makinenin sürücüsünü klonlamamız gerekir:

    VBoxManage clonehd <name_of_source> <clone>
    

    Sonra klonu yukarıda gösterildiği gibi kurtarma sanal makinemize bağlarız.

  • Bozuk .vdi'ye yazma yalnızca dosya güvenliğinden sonra dosya sistemine daha fazla zarar verebileceğinden yapılmalıdır.

  • Kurtarıcımız Ubuntu'nun kurtarılan verileri tutmak için çok küçük olması durumunda, VM'ye bağlamak için başka bir yeni sanal sürücü oluşturabiliriz. Bu sürücünün , oradaki test diskinden veri kaydedebilmek için Sanal Makineye monte edilmesi gerekir.


Bu zekice detaylı talimatlar için teşekkürler. Onları doğru takip ettim ve dosyaları kurtarılmış klasörüme kopyalamak için ekledim. Kopya başarılı oldu ancak dosyaların zaman damgası oldukça eskiydi: iki gün önce yaz 2013. Özellikle 8 ay önce bir şey yapıp yapmadığımı hatırlayamıyorum, ancak ilk bakışta iki gün önceki dosyalarım orada değildi. Şimdi Deeper Searchtekrar taramak için kullanıyorum .
719016

@ 213441265152351 - ayrıca anlık görüntü klasörüne bir göz atın ... daha yeni bir .vmdk olabilir (en azından buradaki sistemlerimdeydi). Verilerinizi bulacağınızı
umuyorum

Ben yaptım Deeper Searchve yine göz birkaç saat sonra içeriği ı kurtarmak istedi: hala daha erken bana bir Ocak veriyordu cüce nautilus ile bölüm montaj yerine, sanal makinenin bir yaz 2013 sürümüne işaret ediyor 2014 sürümü, ancak yine de iki gün öncesindeki dosyaları bulamıyor.
719016

1
@ 213441265152351: Peki o zaman daha karmaşık. Farklılık göstergelerinin henüz "çökme" meydana geldiğinde sürücüye uygun şekilde yazılmamış olması olabilir. Durumun böyle olup olmadığını görmek için Sanal Medya Yöneticisinden (bkz. Virtualbox.org/manual/ch05.html#diffimages ) diske bakmayı deneyebilirsiniz , ancak durumun iyi olup olmayacağını söylemeliyim. Bu görüntülerdeki verilerin nasıl kurtarılacağı hakkında fikir.
Takkat

2
@Rmano: aslında klonlanmış bir VDI herhangi bir anlık görüntü içermeyecek, ancak farkların birleştirildiği son VM durumu olacak. Yalnızca önceki bir anlık görüntüyü klonlamamız gerektiğinde, klonlamak için anlık görüntü VDI kullanabiliriz, ancak daha sonra anlık görüntüden sonraki tüm değişiklikler klona dahil edilmez.
Takkat

5

1) UUID ile anlık görüntüyü kurtarmayı deneyin, aşağıdaki kesmeyi kullanın:

  • kurtarmak istediğiniz durumun UUID'sini seçin.
  • Açık .xml dosyasını, tercihen XML dosyasının gezinmesini kolaylaştıran bir araçta (Internet Explorer çalışır).
  • ÇOK ALTINDA, Depolama Denetleyicileri bölümünde, Geçerli Durumun UUID'sini bulun ve StorageController adını =, type = ve AttachedDevice tip =, port = ve device = settings not alın.
  • Ortada, istediğiniz anlık görüntüyü bulun.
  • Anlık görüntünün Depolama Denetleyicisi bölümünde, AttachedDevice'i yukarıda alınan değerlerle eşleşen değerlerle (ad / tür / tür / bağlantı noktası / aygıt) bulun.
  • Bu görüntü UUID'si, sabit disk için anlık görüntüyü tanımlar. {} Braketlerini çıkarın ve

komuta gir C:> VBoxManage clonehd <UUID> CloneDisk.vdi

Umarım yardımcı olur, çözümü burada buldum: ( https://forums.virtualbox.org/viewtopic.php?t=791 )

2) 1) 'deki adımlar işe yaramazsa, deneyebileceğiniz başka bir adım var. Bir diskin şu anki durumu nasıl kopyalanır:

  • Sanal Medya Yöneticisi'ni açın (Menü: Dosya> Sanal Medya Yöneticisi).
  • Ağacı klonlamak ve ağacı tamamen genişletmek istediğiniz sabit diske gidin (sayısal tuş takımında * tuşunu kullanın).
  • Geçerli Durumunu klonlamak istediğiniz VM'ye bağlı {hexUUID} .vdi dosyasını bulun. Bir dalın sonundaki yaprak dosyalarından biri olacaktır. Seçtiğiniz zaman, pencerenin altındaki 'Ekli:' metni: 'Ekli:', bundan sonra parantez içinde herhangi bir (anlık görüntü adı) olmadan şunu söyler.
  • Pencerenin altında görüntülenen 'Konum:' sağındaki dosya adını tıklayın.
  • Metni panoya kopyalamak için Ctrl + C / Kopyala, bunun gibi bir şey olacaktır: (yol) {b6441469-5ccb-418c-8fdd-73c5e1a17314} .vdi
  • Ctrl + V / HexUUID değerini yapıştırın ve çıkarın ({} dirseklerini çıkarın) ve klonlamak için klonlayın!

Thi'nin çözümü buradan: ( http://www.im-code.com/blog/blog/2012/02/04/virtualbox-clone-snapshots/ ) Her ikisi de çoğunlukla aynı şekilde konuşuyor.


1

Bir Linux sistemi bozulmuştu /ve fsckdüzeltemedim . Aşağıdaki basit yaklaşımı kullandım:

  1. Makineye yeni bir yedek VDI ekleyin.
  2. Yeni bir linux ISO indirin.
  3. Önyükleme ve (1) de eklediğiniz diske yeni bir linux yükleyin.
  4. Diski yeni sisteminize yerleştirin ve ihtiyacınız olan dosyaları kopyalayın. Genellikle bu, /home/user/klasörü kopyalamak anlamına gelir . Gizli dosyaları (ayar dosyaları) kopyalamayı unutmayın.

Benim için iyi çalıştı. Disk bozulması sadece önyüklemeyi engelliyordu, ana klasörümde veri kaybı yoktu.

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.