Dapatkah partisi sistem EFI diretas?

12

Saya menyiapkan HTPC dengan Ubuntu 64-bit, menggunakan UEFI dan RAID dengan disk GPT.

Apakah mungkin untuk partisi sistem EFI (tipe partisi 0xEF00) untuk menjadi bagian dari array RAID1 menggunakan mdadm? Saya berharap bahwa metadata versi 1.0 (di akhir disk) akan memungkinkan ini.

Selain itu, apa yang harus "perangkat untuk instalasi boot loader" diatur, atau apakah itu hanya berlaku untuk disk MBR?

Andrew
sumber

Jawaban:

6

Seperti yang Anda katakan, mdadm metadata ver. 1.0 melakukan pekerjaan.

Saya sudah berhasil mendapatkan konfigurasi yang dapat dijalankan oleh Gigabyte GA-C1037UN-EU EFI. Konfigurasi ini terbatas pada RAID1 untuk partisi ESP, tetapi memungkinkan untuk menggunakan konfigurasi RAID apa pun untuk sisa partisi. Mari perlihatkan RAID1 pada dua drive sebagai contoh. Setiap disk dipartisi dengan cara berikut:

sda (gpt)
--sda1 (512MB)
  mdadm array member with 1.0 metadata format
  boot and esp flags set
--sda2 (rest of disk)
  mdadm array member with 1.2 metadata format

RAID pertama dibuat lebih dari partisi sdX1 pada setiap drive dan digunakan untuk partisi ESP. Sisa kapasitas drive dapat digunakan dengan cara apa pun, misalnya, dalam RAID1 juga. Biarkan RAID pertama menjadi /dev/md/efidan yang kedua /dev/md/data. /dev/md/efitidak boleh menggunakan label partisi apa pun, seperti MBR atau GPT. /dev/md/datadapat dipartisi nanti atau digunakan sebagai LVM pv. Sebagai contoh:

/dev/md/efi
--fat32 fs, mounting to /boot/efi/
/dev/md/data
--/dev/md/data1
  linux swap partition
--/dev/md/data2
  ext4 root partition
  ... (other needed partitions)

Metadata ver. 1.0 memiliki satu fitur sederhana: superblock disimpan di akhir partisi RAID, sehingga BIOS dapat mendeteksi partisi FAT32 dengan flag ESP dan BOOT. Jadi tidak ada yang menghalangi BIOS untuk mencari EFI / BOOT / BOOTX64.EFI di partisi ini dan boot dari sana.

Keterbatasan utama dari metode ini adalah bahwa GRUB harus dikonfigurasikan untuk menginstal file EFI yang dapat di-boot di jalur untuk media yang dapat dilepas, karena efibootmgrmencoba membuat BIOS boot langsung dari mdperangkat, bukan sdX. Ini bisa dilakukan grub-installdengan menggunakan --removableflag.

UPD. Ada masalah kompatibilitas. Mencoba konfigurasi yang sama pada motherboard ASUS P8Z68-V PRO / GEN3. Sistem tidak mau boot apa pun yang saya lakukan.

Gleb Mayorov
sumber
Saya juga bertanya-tanya apa yang terjadi jika BIOS Anda menulis ke salah satu partisi
sourcejedi
Bagaimana dengan mdadm 0.90 yang seharusnya mendukung grub lama ( baca ini )? Mungkin itu akan bekerja untuk ASUS P8Z68.
hrvoj3e
Saya mengujinya dan hanya mungkin dengan MD metadata versi 1.0 karena partisi ESP tetap dalam GPT dan metadata disimpan di belakang. Dengan metadata versi 2.0, partisi tersebut dimasukkan ke dalam superblok MD, sehingga firmware tidak dapat mendeteksinya.
Kouros
5

Setelah banyak bereksperimen saya pikir ini jawabannya:

Partisi sistem EFI (biasanya dipasang pada /boot/efi/) tidak menyimpan banyak file, kecuali misalnya GRUB disimpan langsung di sana /boot/grub/. Isi biasanya tidak berubah, jadi tidak perlu melakukan RAID partisi. Memiliki banyak salinan partisi di disk yang berbeda juga akan memerlukan entri boot UEFI untuk diatur efibootmgr; biasanya GRUB menginisialisasi ini berdasarkan partisi yang dipasang dari /boot/efi/.

Jadi sepertinya keduanya tidak diperlukan, dan tidak mudah dilakukan.

Andrew
sumber
1
Tetapi katakanlah Anda ingin memiliki raid1 hanya untuk keamanan jika satu disk gagal. Akan "dan tidak mudah dilakukan." berarti itu mungkin?
zidarsk8
Bagaimana dengan semua panduan yang mengatakan menunjukkan partisi boot dan partisi sistem efi?
CMCDragonkai
4

Saya pikir jawaban singkatnya adalah: Tidak, partisi sistem EFI (ESP) tidak dapat di-RAID. Namun, Anda masih bisa mendapatkan keuntungan seperti RAID jika Anda mengklon ESP antara disk RAID Anda dan menambahkan kedua partisi ke dalam rantai boot EFI. Untuk detailnya, lihat Bagaimana menginstal Ubuntu 14.04 64-bit dengan partisi RAID 1 dual-boot pada sistem UEFI / GPT? .

Niclas Börlin
sumber
Apa yang Anda sarankan sebagai cara terbaik untuk menyinkronkan setiap partisi /bootjika Anda membuat perubahan seperti menambahkan kernel baru ... dll?
CMCDragonkai
Kamu tidak harus! Lihat komentar saya di askubuntu.com/questions/660023/… .
Niclas Börlin
2

Tidak, itu belum memungkinkan, sebagian besar motherboard yang memiliki UEFI dapat membaca dari sejumlah tipe partisi untuk EFI (mis. FAT32) dan RAID bukan salah satunya.

Samuel Jackson
sumber