Kerusakan master boot record atau tabel partisi
Hard
disk terdiri atas MBR (Master Boot Record), tabel partisi lalu
diikuti oleh partisi-partisi sejumlah yang dibuat oleh user.
Kerusakan pada MBR dan/atau tabel partisi bisa menyebabkan sistem
operasi tidak bisa di-boot atau satu atau lebih partisi terlihat
seperti hilang. Hal ini hanya “kelihatannya” karena sebenarnya
partisi dan data di dalamnya masih ada. Penyebab kerusakan MBR
bisa bermacam-macam. Misalnya, saat Anda meng-install Windows
setelah Anda meng-install Linux, sehingga sistem Windows saja
yang bisa di-boot. Contoh lainnya bisa juga saat Anda melakukan
suatu kecerobohan saat menjalankan perintah:
# dd if=/dev/zero of=/dev/sda bs=1 count=512 Perintah di atas akan melakukan penulisan angka 0 (nol) sebanyak 512 byte mulai dari sektor pertama hard disk kita. Ini adalah lokasi tempat MBR dan tabel partisi diletakkan. Secara visual, pesan kesalahan yang mungkin muncul di layar monitor akibat permasalahan semacam ini adalah sebagai berikut.
# dd if=/dev/zero of=/dev/sda bs=1 count=512 Perintah di atas akan melakukan penulisan angka 0 (nol) sebanyak 512 byte mulai dari sektor pertama hard disk kita. Ini adalah lokasi tempat MBR dan tabel partisi diletakkan. Secara visual, pesan kesalahan yang mungkin muncul di layar monitor akibat permasalahan semacam ini adalah sebagai berikut.
FATAL: No bootable device
Untuk
mengatasi masalah tersebut, masukkan CD System Rescue ke drive
CD/DVD. Tekan [Enter] saat muncul layar pembuka agar System Rescue
bisa memulai proses booting seperti layaknya sistem Linux pada
umumnya. Begitu tampil prompt, bersiaplah memulai proses
penyelamatan. Pertama, kita jalankan program Testdisk untuk
mengembalikan tabel partisi. Ketik pada prompt: (catatan: prompt pada
System Rescue CD menggunakan tanda “%”) root@sysresccd
/root % testdisk Akan nampak
tiga pilihan, yaitu Create, Append, dan No Log. Opsi Create
dipilih untuk menciptakan file log baru. File ini sebenarnya berisi
catatan prosedur-prosedur yang dilaksanakan selama proses recovery
partisi. Pada layar
berikutnya akan ditanyakan nama device hard disk yang akan
dianalisis. Dalam hal ini, penulis memilih /dev/sda karena targetnya
adalah hard disk primary master. Apabila Anda memiliki lebih dari
satu hard disk, pastikan terlebih dahulu nama hard disk yang dipilih
benar yang ingin di-recover. Hal ini bisa dicek sebelumnya di shell
misalnya dengan perintah:
Siap
digunakan saat booting Beberapa fungsi dalam System Rescue CD bisa
langsung Anda jalankan, saat sistem Linux masuk salah satu tahapan
booting.% dmesg| grep -C 2 ‘[sh]d[a-z]’ …
scsi 0:0:0:0: Direct-Access
ATA QEMU HARDDISK 0.10
PQ: 0 ANSI: 5 sd 0:0:0:0:
[sda] 10485760 512-byte logical blocks: (5.36 GB/5.00
GiB) Dari output di atas
jelas terlihat bahwa ada satu hard disk (sda) berukuran 5 GB.
Setelah Anda memilih nama device dan menekan [Enter], layar
berikutnya akan menampilkan informasi jumlah sektor yang terdeteksi.
Pilih Continue karena layar ini sekadar informasi saja. Pada
layar berikutnya, Anda akan ditanyakan mengenai jenis format partisi.
Kebanyakan dari kita menggunakan sistem IBM PC Compatible. Jadi,
pilihlah Intel. Namun, jika Anda menggunakan format lain, misalnya
hard disk Mac, Anda perlu memilih tipe yang sesuai. Tekan [Enter]
untuk menuju layar berikutnya. Sekarang
Anda bisa memulai tahap recovery sebenarnya. Pilih Analyse lalu tekan
[Enter]. Layar berikutnya akan menampilkan daftar partisi yang
ditemukan. Tentu saja saat ini masih kosong. Pilih menu Quick Search
dan tekan [Enter] sekali lagi. Akan muncul dialog yang menanyakan
apakah Anda akan memperbaiki partisi yang dibuat oleh Windows Vista.
Apabila memang ada partisi yang ada buat lewat Vista, jawab
dengan Y. Untuk ilustrasi, penulis memilih N karena dianggap semua
partisi dibuat oleh sistem Linux. Proses
deteksi akan dimulai dan hasilnya adalah seperti berikut ini.
Disk /dev/sda – 5368 MB / 5120
MiB – CHS 652 255 63 Partition
Start End Size in sectors *
Linux
0 1 1
318 254 63 5124672 [/] Linux
Swap 319
0 1 383 254 63 1044225 Linux
LVM 384
0 1 416 254 63 530145 Linux
LVM 417
1 1 449 254 63 530082 Linux
LVM 450
1 1 482 254 63 530082 Luangkan
waktu beberapa saat untuk mengecek temuan Testdisk. Pilih tiap-tiap
partisi yang ditemukan, lalu lihat keterangan di baris terbawah
layar. Di sana akan terlihat format file system (jika sudah diformat)
beserta ukurannya. Contohnya, untuk partisi pertama didapatkan
informasi: EXT3 Large file
Sparse superblock, 2623 MB / 2502 MiB Masih
kurang yakin? Anda bisa melihat file-file apa saja yang tersimpan di
dalam partisi tersebut. Sorot partisi yang diinginkan dan tekan [P].
Kini Anda bisa melihat struktur file dan direktori di dalamnya.
Setelah selesai, tekan [q] dan Anda akan kembali ke layar daftar
partisi. Setelah Anda yakin
semua partisi telah ditemukan, tekan [Enter]. Layar berikutnya akan
menanyakan apakah akan dilakukan pencarian lebih teliti lewat Deeper
Search atau langsung menuliskan daftar partisi ke hard disk. Di sini
diasumsikan penulisan langsung dilakukan ke hard disk, sehingga
dipilih Write. Pada layar konfirmasi, tekan [Y] dan penulisan akan
dilakukan. Akan muncul pesan yang meminta Anda melakukan reboot
komputer. Hal ini perlu dilakukan untuk memastikan BIOS dan sistem
operasi Anda membaca tabel partisi yang tadi baru saja ditulis.
Kembali ke menu utama, pilih Quit.
Lakukan reboot lewat prompt shell dengan mengetik: %
reboot Keluarkan CD System
Rescue dan biarkan hard disk di-booting. Bagaimana hasilnya? Mungkin
saja tidak tampak tampilan menu bootloader, seperti GRUB atau LILO,
dan sistem masih belum bisa di-boot. Jadi, apa yang kurang?
Program Testdisk hanya
mengembalikan tabel partisi yang terhapus, tetapi tidak mengembalikan
instalasi bootloader seperti sedia kala. Untuk itu, kali ini kita
perlu menuliskan program loader kembali ke MBR. Ada beberapa cara,
dan kali ini akan dibahas salah satunya yang relatif praktis. Booting
kembali System Rescue Linux dan prompt awal, ketik perintah grubdisk.
Akan muncul pilihan awal kurang lebih seperti ini: Boot
Ubuntu Gnu/Linux AUTO MAGIC
BOOT Pilih Auto Magic Boot.
Program akan mendeteksi daftar sistem operasi yang bisa di-booting.
Pada kasus penulis, layar akan menampilkan: Boot
Ubuntu Gnu/Linux AUTO MAGIC
BOOT Linux 2.6.18-128.el5
Linux 2.6.18-128.el5 (single-user
mode) Other OS Ini
sudah sesuai dengan entry yang penulis harapkan. Hasil yang Anda
dapatkan tentunya bisa berbeda. Di sini, penulis memilih Linux
2.6.18-128.el5 dan menekan [Enter] untuk masuk ke sistem CentOS.
Apabila tidak ada masalah, booting akan berjalan normal sampai dengan
muncul layar login, entah itu di mode teks atau grafis. Masukkan user
dan password dari root. Dari prompt, ketik:
Gagal
booting Pesan seperti ini bisa menandakan bahwa Master Boot Record
mengalami kerusakan.# grub-install /dev/hda Apabila
tidak ada masalah, akan tampil laporan seperti berikut ini.
Installation finished. No error
reported. This is the
contents of the device map /boot/grub/device. map.
Check if this is correct or not. If any of the lines is
incorrect, fix it and re-run the script ‘grub-install’. #
this device map was generated by anaconda (hd0)
/dev/hda Kali ini digunakan
nama device hda karena CentOS mendeteksi hard disk dengan nama
berbeda. Untuk mengetahuinya, gunakan perintah dmesg sama seperti
saat kita menentukan nama hard disk yang menjadi target operasi
Testdisk. Sekarang Anda
tinggal me-reboot komputer sekali lagi. Pastikan booting dilakukan
dari hard disk…dan sim salabim!. Menu GRUB telah kembali dan Linux
kembali bisa dibooting dengan normal! Kegagalan
mount akibat kerusakan superblock Biasanya
kegagalan seperti ini tidak terlalu jelas. Misalnya, Anda melakukan
operasi mount, bisa muncul output seperti berikut ini. #
mount -v /dev/sda1 /mnt/disk mount:
you didn’t specify a filesystem type for /dev/ sda1
I will try all types mentioned in
/etc/filesystems or /proc/filesystems
Trying # Trying
#vfat Trying fuseblk
mount: you must specify the
filesystem type Atau jika
partisi yang dimaksud adalah partisi yang ditempati oleh file-file
bootloader (GRUB dalam hal ini), bisa jadi Anda mendapat pesan saat
booting seperti berikut ini. Booting
from Hard Disk… GRUB
Loading stage1.5. GRUB
loading, please wait… Error
17 Ini adalah tanda-tanda
adanya ketidakberesan pada struktur filesystem. Kenapa ini bisa
terjadi? Superblock adalah sektor-sektor pada suatu disk yang berisi
informasi mengenai suatu partisi, misalnya kapan terakhir kali
partisi di-mount, jumlah inode, keterangan lokasi data, dan
seterusnya. Superblock juga merupakan area yang dibaca oleh program
“mount” saat proses mounting. Jadi, jika terjadi corrupt pada
sebagian atau keseluruhan isi superblock, bisa ditebak proses mount
akan gagal. Alhasil, keseluruhan filesystem gagal diakses. Untuk
meyakinkan akar masalah, boot System Rescue CD dan lakukan
pengecekan dengan perintah fsck: %
fsck -p /dev/sda1 fsck from
util-linux-ng 2.16.1 fsck.ext2:
Bad magic number in super-block while trying to
open /dev/sda1 /dev/sda1:
The superblock could not be read or
does not describe a correct
ext2 filesystem. If
the device is valid and it really contains an
ext2 filesystem (and not
swap or ufs or something else), then the
superblock is corrupt, and
you might try running e2fsck with an alternate
superblock: e2fsck -b 8193
<device> Adanya pesan
di atas membuktikan bahwa ada suatu masalah di superblock. Jalankan
ulang perintah fsck seperti berikut untuk mencoba membenahinya:
% fsck.ext3 -b 8193 /dev/sda1
e2fsck 1.41.9 (22-Aug-2009)
fsck.ext3: Bad magic number in
super-block while trying to
open /dev/sda1 Gagal lagi!
Penyebabnya sangat dimungkinkan karena kita salah memberikan posisi
superblock cadangan lewat parameter -b. Sebagai catatan, file system
seperti ext3 menyimpan beberapa superblock cadangan pada posisi
sektor-sektor tertentu. Sekarang tugas kita adalah mencoba
mencarinya. % mkfs.ext3 -j
-n /dev/sda1 mke2fs 1.41.9
(22-Aug-2009) Filesystem
label= OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
160320 inodes, 640584 blocks
32029 blocks (5.00%) reserved for
the super user First data
block=0 Maximum filesystem
blocks=658505728 20 block
groups 32768 blocks per
group, 32768 fragments per group 8016
inodes per group Superblock
backups stored on blocks: 32768,
98304, 163840, 229376, 294912 Opsi
-n mengatur agar perintah mkfs melakukan simulasi, jika seandainya
terjadi operasi format yang sebenarnya. Dengan demikian, Anda
tidak perlu khawatir data akan hilang (tentu saja, jangan lupa
menuliskan opsi -n). Angka yang dicetak tebal adalah posisi sektor
yang kita cari. Kita lakukan sekali lagi fsck: %
fsck.ext3 -b 32768 -p /dev/sda1 Opsi
-p dipakai agar fsck melakukan perbaikan secara otomatis tanpa banyak
menanyakan konfirmasi ke user. Akan muncul rentetan output semacam
ini: /: Inode 546969,
i_blocks is 576, should be 568. FIXED. /:
Inode 546971, i_blocks is 1280, should be 1272. FIXED.
/: Inode 546974, i_blocks is 1792,
should be 1784 .
FIXED. Dan kemungkinan
diakhiri dengan: /:
UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e.,
without -a or -p options) Kita
ulangi sekali lagi perintah fsck, tetapi tanpa parameter apapun:
% fsck /dev/sda1 Jika
Anda menghadapi banyak pertanyaan yang menuntut Anda mengetik y
(setuju), Anda bisa mempercepat proses dengan menekan [Ctrl]+[C]
untuk menghentikan proses cek. Lalu, gunakan opsi -y pada
perintah fsck agar semua pertanyaan langsung disertakan dengan ‘y’.
Recover
tabel partisi dengan testdisk Partisi hard disk hilang? Program
Testdisk mungkin dapat menemukannya (menyelamatkannya) kembali.
Recovery data pada bad sector
Hard
disk yang sudah berumur atau memiliki cacat dari pabrik, lambat laun
akan memiliki bad sector (sektor rusak). Secara singkat, bad sector
bisa diibaratkan lubang pada jalan raya. Hal ini mengakibatkan
penyimpanan data menjadi tidak sempurna atau kadang data menjadi
tidak bisa diakses sama sekali. Dalam keadaan ini, Anda punya
beberapa alternatif tindakan, tetapi biasanya yang paling banyak
disarankan adalah melakukan penduplikasian data ke hard disk berbeda
atau media penyimpanan lain secepatnya. Mengapa
demikian? Ada dua alasan: ->Apabila
kita menyalin ke disk yang sama (sekalipun beda partisi),
dikhawatirkan akan muncul bad sector juga cepat atau lambat. Dengan
kata lain, hard disk yang memiliki suatu bad sector dianggap
potensial untuk memiliki kasus serupa di sektor yang lain.
->Tidak ada jaminan bahwa proses
perbaikan bad sector akan berjalan 100% tanpa kesalahan. Bisa saja
selama perbaikan, data justru menjadi makin tidak terselamatkan.
Dengan begitu, Anda bisa saja kehilangan data lebih banyak.
Penulis menyarankan untuk
menyiapkan hard disk baru dengan ruang kosong minimal sama dengan
besarnya partisi yang akan diselamatkan datanya. Pasang hard disk ini
pada sambungan kabel IDE atau SATA yang kosong, atau bisa juga diset
sebagai slave. Usahakan melakukan pemasangan komponen komputer
dengan meminimalkan listrik statis, misalnya dengan menggunakan
gelang antilistrik statis. Setelah
hard disk kedua terpasang, boot System Rescue Linux hingga prompt
muncul. Kita anggap di sini partisi yang bermasalah adalah /dev/sda1,
sementara backup dilakukan pada /dev/sdb1 yang kita mount sebagai
/mnt/backup. Program yang akan kita pakai adalah perintah ddrescue
seperti berikut ini. % mount
/dev/sdb1 /mnt/backup %
ddrescue -S -d /dev/sda1 /mnt/backup/backup.img Press
Ctrl-C to interrupt rescued:
2623 MB, errsize: 0 B,
current rate :
29491 kB/s ipos:
2623 MB, errors:
0, average rate: 14557
kB/s opos:
2623 MB, time from last successful read:
0 s Finished
Di sini digunakan dua opsi:
-S untuk menghasilkan sparse file,
yaitu suatu file yang memiliki “lubang”. Dengan cara ini, ukuran
file sebenarnya bisa lebih kecil dari ukuran partisi yang
diselamatkan karena data ditulis hanya sebesar data yang
diselamatkan. -d untuk
melakukan pembacaan secara direct access. Apa maksudnya? Pembacaan
data akan dilakukan dengan mengabaikan beberapa mekanisme tertentu di
filesystem, khususnya caching. Hasilnya pembacaan relatif selesai
lebih cepat dan data yang dibaca bisa digaransi langsung berasal dari
fisik disk. Hasilnya adalah
suatu file image yang berisi data-data Anda. Ini bisa dibuktikan dari
perintah file: % file
/mnt/backup/backup.img /mnt/backup/backup.img:
Linux rev 1.0 ext3 filesystem data
(large files) Tipe
filesystem tentunya akan sesuai dengan format yang Anda pakai, jadi
bisa saja ini berupa reiserfs, XFS, FAT32 dan seterusnya. File ini
lalu bisa Anda mount untuk mengakses data-data di dalamnya: %
mkdir /mnt/test % mount -o
loop /mnt/backup/backup.img /mnt/test Mungkin
tidak semua file bisa terbaca dengan baik di dalam direktori
/mnt/test. Ini adalah risiko, tetapi ini lebih baik daripada data
tidak bisa dibaca sama sekali. Terakhir,
kita coba perbaiki disk kita yang berisi bad sector: %
fsck -cc -k /dev/sda1 Pengecekan
pada dasarnya dilakukan dengan melakukan proses baca tulis (opsi
-cc) tanpa merusak data yang ada. Opsi -k akan mengatur perintah fsck
melakukan update daftar bad sector (jika ada) di metadata file
system. Hal ini akan mencegah penulisan data di masa depan pada
sektor yang sama. Namun, jika bad sektor sudah sedemikian banyaknya,
disarankan untuk tidak lagi memakai disk tersebut.
sumber
:
http://dea.meximas.com/tugas-sistem-operasi/jenis-jenis-kerusakan-saat-instalasi-sistem-operasi-open-source/