Saya menggunakan sistem Debian / Squeeze (dengan sejarah akan kembali ke setidaknya Woody) yang ditingkatkan menjadi grub2 sebagai bagian dari peningkatan Squeeze. Semua berfungsi dengan baik, tapi saya akan mengacaukan konfigurasi disk.
Saat ini mesin menjalankan 2 80GB drive dengan partisi RAID1-ed /, / home dan / boot (ada sepasang drive dengan RAID1-ed "/ data" dan beberapa swap, jika ada yang bertanya-tanya di mana swap berada , tapi aku tidak menyentuh mereka).
Saya telah menambahkan 2 130GB SSD, mempartisasinya setidaknya sebesar partisi pada drive 80GB, dan bermaksud untuk beralih ke drive SSD baru dengan menumbuhkan RAID1 untuk memasukkannya, menunggu sinkronisasi, kemudian menghapus yang lama drive dari array sehingga hanya SSD yang tersisa (dan kemudian menumbuhkan sistem file). Tapi perselisihan mdadm / ext3 bukan apa pertanyaan ini tentang ...
Itu akan meninggalkan saya dengan 2 drive 80GB (IDE) usang yang ingin saya hapus dari mesin. Kekhawatiran saya adalah bahwa menghapusnya akan membawa beberapa MBR penting bersama mereka. Bagaimana cara memastikan mesin tetap dapat dibooting?
Lebih spesifik:
Ketika saya melakukan upgrade Squeeze, saya ingat ada beberapa pilihan yang disajikan untuk menginstal grub2 (saya pergi dengan default, yang semuanya adalah drive). SSD tidak ada di mesin pada saat itu; bagaimana saya bisa menjalankan kembali ini untuk mendapatkan grub untuk diinstal pada MBR SSD? (Saya menduga itu adalah konfigurasi ulang dpkg dari beberapa paket).
Bagaimana saya menemukan drive yang menurut grub2 diinstal? Astaga, ada hampir 200 file di bawah / boot / grub / hari ini! Di mana mencarinya? Selain itu, agak aneh bahwa /boot/grub/device.map.auto hanya mencantumkan 3 drive saat ini (2 dari 80GB tetapi hanya satu dari pasangan drive lainnya, dan tidak ada SSD). Bagaimana cara saya mendapatkan informasi terkini? ( Pembaruan: itu adalah herring merah; device.map.auto tampaknya menjadi peninggalan dari tahun yang lalu; device.map tampak masuk akal pada pembaruan oleh grub-mkdevicemap. Pikirkan paranoia saya di daerah ini berasal dari BIOS mobil lama yang akan susun ulang urutan perangkat yang terlihat oleh GRUB sambil lalu).
Hasil: semua berjalan dengan baik dan saya sekarang memiliki dua drive IDE 80GB lama di luar kotak, dan sistem boot cepat dan cepat yang menjalankan SSD RAID1-ed dengan semua filesystem diubah ukurannya hingga ukuran partisi baru mereka. "Potongan puzzle Grub yang hilang" lainnya yang saya cari adalah dpkg-reconfigure grub-pc
yang meminta disk untuk mempertahankan MBR. Jawaban Harun sebenarnya paling meyakinkan saya bahwa ini bekerja seperti yang diharapkan, maka menerima jawaban itu.
dd if=/dev/sda bs=1 count=512 | grep -aob GRUB
. Itu akan mengembalikan posisi marker di dalam sektor boot.Ada beberapa langkah dalam proses boot (saya menggambarkan BIOS PC tradisional):
/boot/grub
.(hd0)/boot/grub
) yang menentukan di mana menemukangrub.cfg
dan selanjutnya modul Grub.grub.cfg
dijalankan, biasanya untuk menampilkan menu dan boot OS.Sektor boot dihasilkan oleh
grub-setup
, biasanya dipanggil melaluigrub-install
. Sektor boot berakhir pada disk apa pun yang Anda tentukan (dalam sintaks Linux) pada baris perintahgrub-install
ataugrub-setup
. Anda dapat memeriksa apakah Anda memiliki sektor boot pada disk dengan menjalankanfile -s /dev/sda
. Karena Anda menambahkan disk baru dan ingin mem-boot darinya, Anda harus menjalankannyagrub-install
di disk baru. Menjalankangrub-install
beberapa kali pada disk yang sama tidak berbahaya.Bagian yang sulit adalah pada langkah 2 di atas. Jika memungkinkan, letakkan Grub (yaitu
/boot/grub
direktori) pada disk boot BIOS (atau, mendekati ini dari arah lain, beri tahu BIOS Anda untuk boot dari disk di mana/boot/grub
). Di sinilahdevice.map
berperan. Pastikan itu(hd0)
dipetakan ke disk yang berisi/boot/grub
, lalu jalankangrub-install
di disk itu.Jika dua disk Anda berada dalam konfigurasi RAID-1 perangkat lunak, Anda akan memiliki sektor boot yang identik. Ini adalah perilaku yang diinginkan: jika satu disk yang merupakan disk boot BIOS gagal, boot dari disk yang lain hanya akan berfungsi (karena mereka berisi byte yang sama di lokasi yang relevan yang sama). Jika Anda hanya mem-mirror partisi tertentu, menginstal sektor boot hanya memengaruhi salah satu disk. Anda harus menjalankan
grub-install
lagi pada disk kedua, setelah mengubahdevice.map
untuk mengaitkan(hd0)
dengan disk yang berisi salinan cermin kedua/boot/grub
.Langkah 3 cukup rumit, tetapi biasanya berhasil. Pada langkah 4, Grub menemukan sistem file oleh UUID atau mencari file bernama, sehingga Anda tidak perlu lagi khawatir tentang berbagai cara untuk menunjuk disk.
sumber