| |||||||
![]() | Lütfen dikkat! |
|---|---|
Burada açıklananları uygulamak şu anda yüklü sisteminizi kaybetmenize ve eğer mevcutsa bir önceki sisteme dönmenize neden olacaktır! Seçim sizin... | |
İşi kolayca halletmek için elinizde olması gerekenler:
Bu kadarı
yeterlidir.
Şu an yüklü SuSE sistemimde, ve bu işlemi başka kişilerin bilgisayarlarında denediğimde iyi sonuç aldım.
Daha önce bazı fdisk sürümlerinin diski silindir yerine sektör cinsinden ele aldığından bahsetmiştim. Kağıdınızdaki fdisk -ul kısmı bu iş içindir, yani bölümleme tablosu sektör cinsinden bloklarla gösterecektir.
fdisk -ul listesini kullanacak şekilde başlatmak için fdisk'i fdisk -u ile başlatmalısınız. Bana göre sektörle çalışmak çok kötü bir fikir, çünkü silindirleri akılda tutmak sektörlere göre çok daha kolay, ama bilgim dışında gerçekten kullanışlı olan bir yönü olabilir.[49]
fdisk küçük ve akıllı bir programdır. Çeşitli sürümleri var, ama her zaman Linux sürümlerini tercih ederim.
fdisk programını kullanırken w tuşuna dikkat etmelisiniz, bu disk bölüm tablosuna diske yazar, eğer bir yanlışlık yaptığınızı düşünüyorsanız q (quit) tuşu veya Ctrl+C ile yaptığınız değişiklikler diske yazılmadan çıkabilirsiniz.
Yeni bölüm tablonuzu oluşturduğunuzda (yukarıda bahsettiğimiz gibi) Linux'unuzu başlatın. Büyük ihtimalle bunu başaramayabilirsiniz: önyükleyiciniz de (lilo/grub) bozulmuş olabilir, bu durumda bir başlatma disketine veya bilgisayarınızı başlatabileceğiniz bir CD'ye ("booting the installed partition" (yüklü bölümden başlat) seçeneği seçilmeli) ihtiyacınız olacaktır.
Eğer lilo kullanıyorsanız, root olarak giriş yaptıktan sonra hemen "lilo" komutunu girin ve önyükleyicinizi tekrar kurun. Elbette Grub kullanıyorsanız Grub'u yüklemelisiniz.
Linux'unuza kavuşmuş olmalısınız, test edin. Eğer çalışabilir durumdaysa MS Windows'u başlatmayı da deneyin. Eğer yapamıyorsanız küçük bir şansla windows bölümündeki verilerinizi Linux'tan sektörler halinde okuyabilirsiniz. Eğer verinizin bulunduğu disk sektörlerini belirleyebilirseniz dd kullanarak verilerinizi bir dosyaya kopyalayabilirsiniz. Bu kurtarma operasyonu bu mini-NASIL belgesinin konusu dışında kalıyor.
Burada anlatılanlar önceki bölümdeki durum kullanılamadığında uygulanmalıdır. Mesela fdisk çıktısı kağıdınız olmadığında.
Öncelikle fdisk dışında diske yazma gerçekleştirmeden önce bilgilerinizi silmediğinizden emin olun, böylece blok blok deneme yöntemini kullanabilirsiniz. Bunun için deneyeceğiniz bölümün ilk bloğunu bilmelisiniz. Mesela eğer 153 uymazsa 154'ü, 154 olmazsa 155'i şeklinde ilerleyerek deneyebilirsiniz.
Bu biraz yorucu olabilir, ama eğer Linux bölümünüzün boyutunu biliyorsanız, kazanmak için bir şansını olabilir.
Eğer bölüm tablonuzu bozdunuz ama henüz bilgisayarı yeniden başlatmadıysanız, hala çekirdekte saklı bölüm bilgisini geri alabilirsiniz:
cat /proc/partitions komutu ile:
major minor #blocks name 3 0 19535040 hda 3 1 2096451 hda1 3 2 4980150 hda2 3 3 1 hda3 <----- bu bir ek bölümü temsil eder 3 5 4980118 hda5 3 6 4972086 hda6
hdparm -g /dev/hda1/dev/hda1 geometry = 2432/255/63, sectors = 4192902, start = 63 |
Birkaç birim dönüştürmesi yapmanız gerekecek. Bloklar genellikle 1K uzunluğundadır. Sektörler disk sektörleridir ve genellikle 512 bayt uzunluğundadırlar. Ama genellikle disk bölümleme araçları silindirler ile çalışırlar (burada 255*63=16065 sektör) Bu bilgiyi kullanarak yeni bir bölüm tablosu oluşturabilirsiniz.
Linux bölümünün sonunu bilmiyor ama başlangıcını biliyorsanız, hala bölümü bağlayabilir ve yapısı hakkında bilgi sahibi olabilirsiniz. Bölüm tablosunda başlangıç kısmına doğru değeri girin ve bitiş kısmına çok büyük bir değer girin. Aşağıdaki komut ile doğru girip girmediğinizi kontrol edin:
e2fsck -n /dev/hd?? |
Hatta bölümü bağlayıp boyutunu kontrol edebilirsiniz:
mount -r /dev/hd?? /mnt df -T |
Bu doğrudan diğer bölümün nerde başlayacağını göstermez ama yaklaşmanıza yardımcı olabilir. Sistemi sadece-okuma modunda işletmek için -n ve -r seçeneklerine dikkat edin!!!
Ama eğer hala internete erişebiliyorsanız veya elinizde çoğu dağıtımda mevcut olan ve freshmeat.net sitesinden veya http://www.stud.uni-hannover.de/user/76201/gpart/ adresinden alabileceğiniz gpart varsa daha iyi bir yöntem vardır.
man gpart komutundan aldığımız çıktının ilk satırı şu: "gpart - guess PC-type hard disk partitions" yani gpart - PC-türü sabit disk bölümlerini tahmin eder.
"gpart bir sabit diskte hangi bölümler olduğunu tahmin etmeye çalışır. Eğer temel bölümleme tablosu kayıpsa, üzerine yazılmışsa veya halen disk üzerinde bulunan bölümler zarar görmüşse ve işletim sistemi bu bölümlere ulaşamıyorsa." Tam olarak ihtiyacımız olan budur.
gpart çok iyi bir araçtır.
Sorun şu: bütün bölümlerin ilk bloğu işaretlenmiştir. Fakat üzerine yazılmadıkça "işaretsiz" duruma gelmezler. Yani eski bir diskte çok sayıda "eskiden işaretlenmiş ilk blok" bulunur ve gpart sadece aralarından en iyisini seçmeye çalışır. Nitekim denemek o kadar da zor değildir, gpart tarafından diske yazılan birşey yoktur.
İşte daha önce gördüğümüz hdb diskinin gpart sonuçları:
[root@charles:/home/jdd > gpart /dev/hdb Begin scan... Possible partition(Linux ext2), size(1200Mb), offset(0Mb) Possible partition(Windows NTFS), size(1200Mb), offset(1200Mb) Possible partition(Linux ext2), size(1004Mb), offset(2402Mb) Possible partition(Windows NTFS), size(1600Mb), offset(4102Mb) End scan. Checking partitions... * Warning: partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX) ends beyond disk end . Partition(Linux ext2 filesystem): primary Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): primary Partition(Linux ext2 filesystem): primary Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): invalid primary Ok. Guessed primary partition table: Primary partition(1) type: 131(0x83)(Linux ext2 filesystem) size: 1200mb #s(2457880) s(63-2457942) chs: (0/1/1)-(152/254/61)d (0/1/1)-(152/254/61)r Primary partition(2) type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX) size: 1200mb #s(2457880) s(2457944-4915823) chs: (152/254/63)-(305/253/60)d (152/254/63)-(305/253/60)r Primary partition(3) type: 131(0x83)(Linux ext2 filesystem) size: 1004mb #s(2056256) s(4919781-6976036) chs: (306/61/49)-(434/60/47)d (306/61/49)-(434/60/47)r Primary partition(4) type: 000(0x00)(unused) size: 0mb #s(0) s(0-0) chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r |
Gördüğünüz gibi birincil bölümler kurtarılabildi, ama ek bölümler için hala yapılacak şeyler var.
Dos bölümleri "windows NTFS" olarak etiketlenmiş, çünkü MS Windows 2000 (çok kötü bir deneyim!) kurmaya çalışırken oluşturulmuşlar. Fakat "hatalı" olan kısımlar ek bölümler.
Bu sonuç ile fdisk kullanarak bölümleme tablosunu yeniden oluşturabilirsiniz (Unutmayın bu durumda risk alabilirsiniz, orjinal tablonuz zaten bozulmuştu).
gpart haftalık olarak güncellenen bir program :-) yeni sürümleri, bildiğimden daha güçlü olabilir.
Ek bölüm bilgisi disk üzerinde belli bir yerde değildir, birincil bölümlerle beraber kaydedilmez. Kurtarabilmek için genellikle daha fazlası gerekir. Yapılacak işlem ise şudur:
![]() | Uyarı |
|---|---|
Bahsedilen her programın man sayfalarını okumalı ve programları salt-okuma kipinde çalıştırmalısınız, tüm bölümleriniz doğru yerine oturmadan diske yazmamaya çalışın. | |
Eğer sabit diskinizde hatalar varsa, veriyi kullanmada, bölümü bağlamada veya kontrol etmede gerçekten sorun yaşıyor olabilirsiniz (sürücü okuma hataları karşınıza çıkabilir). Hatta gpart birşey bulamayabilir. Ama eğer bölümün başlangıcını bilirseniz, verilerinizi başka bir diskteki geçici bir dosyaya kolayca kopyalayabilirsiniz. Bu işlem ile okuma hataları olan sektörler genellikle sıfıra ayarlanır:
dd if=/dev/hd?? of=/tmp/recover_hd?? bs=512 skip=XXXX count=YYY |
XXX sektör başlangıcı ve YYY sektör sayısıdır (tahmin yürütülebilir).
mount -r -t ext2 -o loop /tmp/recover_hd?? /mnt/recover |
Partition Magic ticari bir üründür, verdiği küçük hizmete karşı pek ucuz değildir (yaklaşık 100 Frank) ama bayağı ünlü bir programdır. Her nasılsa, hiç kullanmam ve onaylamam. Söylenene göre bölümlerle ilgili herşeyi yapabiliyormuş, buna bölümü eski durumuna getirmek de dahil.
Ralf'ın bir belgesi olan orjinal bölüm-kurtarma mini NASIL belgesi esasen Partition Magic programı üzerinde duruyordu, yani eğer Linux bölümünüzde değerli bilgileriniz varsa ve Linux bilginiz yeterli değilse bu programın çok iyi bir çözüm olduğunu söyleyebilirim. Fakat Partition Magic programının bir çok sürümü var, sizin için kılavuzu okumak iyi olacaktır.
|
| ||||||||||