Bagaimana cara membuat lingkungan multiboot menggunakan LVM untuk sistem operasi * buntu Anda pada drive sistem yang diformat GPT, dalam sistem berbasis UEFI?

9

Alasan saya menggunakan LVM adalah karena saya menginstal ulang, memutakhirkan, dan umumnya mengacaukan pemasangan OS saya sehingga saya menemukan bahwa LVM memberi saya fleksibilitas luar biasa dalam memindahkan, memperluas, mengkloning, dan mencadangkan partisi OS saya di waktu luang saya tanpa risiko yang diasosiasikan. dengan metode partisi lain. Namun, hal itu membuat multibooting OS Anda sedikit rumit dan tidak dapat diprediksi pada waktu-waktu tertentu, terutama pada perangkat keras yang lebih baru, di mana proses mendapatkan tingkat kerumitan lain.

Yang saya bicarakan adalah motherboard UEFI baru (bukan BIOS), yang memungkinkan Anda menggunakan potensi penuh, dan untuk boot dari, 3TB + hard drive (bila diformat dalam GPT sebagai lawan MBR). Hal-hal dapat menjadi sangat rumit dan kacau karena setiap kali Anda menginstal OS baru di mesin Anda, itu akan menimpa file bootloader EFI (.efi) dari instalasi sebelumnya dan Anda akan berakhir dengan serangkaian entri yang rusak di EFI Anda Daftar boot "BIOS" dan banyak bootloader grub yang berlebihan yang tersebar di partisi Anda. Ini menyinggung perasaan saya pada banyak tingkatan, paling tidak secara estetis.

Kaya
sumber

Jawaban:

6

CATATAN: Ini adalah jawaban OP. Saya memindahkannya ke sini sebagai CW sehingga tidak bisa ditutup. Jika seorang mod melihat ini, harap sebutkan kepemilikan pada OP sebagai jawaban sendiri.

Di bawah ini, saya akan merinci bagaimana membuat semua ini bekerja agak harmonis dan untuk memilah-milah kekacauan, sampai batas tertentu.

Bagian Satu: Instalasi.

Harap dicatat bahwa jika Anda akan menginstal Windows 7 (atau 8?) Pada mesin Anda, Anda mungkin harus menginstalnya terlebih dahulu , terutama pada hard drive itu sendiri, dan Anda tidak akan dapat memasukkannya ke dalam grup volume logis. Ini karena penginstal Windows 7 GPT / EFI sangat mendasar dan tidak akan membiarkan Anda melakukan hal-hal yang akan Anda lakukan di sini. Setelah windows diinstal, Anda dapat mengubah ukuran dan mempartisi ulang, menambahkan partisi yang Anda perlukan untuk instalasi multi-boot. Partisi sistem EFI yang dibuat Windows selalu dapat digunakan kembali untuk instalasi Linux, menggunakan variasi metode yang dirinci di bawah ini.

Pertama , ini membantu untuk menghapus drive sistem yang Anda maksud menggunakan gparted (atau sejenisnya) dan menginisialisasi sebagai disk GPT, sebelum melakukan hal lain. Jika Anda sedikit gugup menggunakan partisi non-grafis untuk mengatur disk Anda dari awal, maka ini jelas bermanfaat dan mudah dilakukan dari USB Desktop live standar atau penginstal CD. Jangan lakukan itu di Windows. Saya tidak yakin bahwa ini mutlak diperlukan, tetapi itulah yang saya lakukan. Anda juga dapat melakukan partisi dasar untuk partisi non-LVM pada tahap ini juga, karena tidak ada salahnya dan memberi Anda kerangka kerja untuk instalasi yang tepat.

Sekarang bakar CD / USB instalasi Anda. Jika Anda menggunakan Ubuntu Alternate Desktop ISO (disarankan), maka Anda harus membakar ini ke CD, karena itu tidak akan bekerja dari USB stick. Ketika digunakan untuk instalasi LVM, itu berhenti dengan kesalahan kritis ketika mencoba untuk mulai memuat dan menginstal perangkat lunak dengan aptitude / tasksel, jadi gunakan CD jika Anda tahu apa yang baik untuk Anda!

  • Ubuntu Server menginstal benar-benar baik dari USB dalam semua kasus (AFAIK), tetapi saya menemukan bahwa jika saya ingin membangun sistem desktop Ubuntu / Mythbuntu di atas Server, ia memperkenalkan semua jenis kebiasaan yang tidak diinginkan yang kemudian perlu menghabiskan waktu memilah. Jadi tetap dengan Desktop, jika itu yang Anda cari.

  • Quantal (12.10) memiliki LVM sebagai opsi dalam installer grafis (yang hebat!) Dan ISO Alternatif telah dihilangkan. Namun, saya menemukan antarmuka partisi manual tidak fleksibel, kurang dalam opsi LVM, dan tidak bekerja untuk multi-boot. Ini mungkin karena masalah USB yang disebutkan sebelumnya, tetapi jujur, saya punya banyak masalah dengan sistem Quantal yang saya coba, sehingga saya menyerah dengan cepat dan kembali ke Precise (12.04.1).

  • Pilihan utama lainnya adalah menggunakan installer Net-boot, yang saya tidak punya pengalaman nyata (kecuali pada Raspberry Pi saya), tapi saya percaya bahwa ada ISO mini dengan installer berbasis teks dan GUI (GTK), yang dapat dibakar dan di-boot dari. Ini menarik sebagian besar file instalasi langsung dari repositori dan sangat dapat dikustomisasi.

Selanjutnya , Anda harus mem-boot sistem Anda dari CD atau USB menggunakan entri boot UEFI dari dalam "BIOS" atau menu boot (biasanya salah satu dari [F8] - [F12] pada keyboard).

Saya akan menyerahkan kepada Anda untuk melewati pendahuluan dari proses instalasi, tetapi begitu Anda sampai ke bagian partisi, pilih Partisi Manual dan kemudian buat (atau modifikasi jika Anda telah membuat beberapa dari mereka) partisi ini:

  1. Satu partisi ukuran 200MB, FAT32, Partisi Sistem EFI, dinamai / berlabel "EFI", Boot-mampu, Format.

  2. Beberapa partisi: Berukuran 256MB, EXT2, Boot-mampu, Format;

    • Anda harus memberi nama / label masing-masing untuk OS yang akan mereka wakili, yaitu "OS_01_Boot" ... "OS_03_Boot" ... dll.

    • Mulailah dengan memasang yang pertama ini sebagai "/ boot" dan yang lainnya sebagai "jangan gunakan".

    • Buat satu partisi untuk setiap OS yang ingin Anda instal.

  3. Satu partisi, mengambil sisa ruang drive, sebagai volume untuk LVM.

    • Konfigurasikan LVM pada volume yang baru saja Anda partisi, buat grup volume untuk semua OS Anda, berikan nama yang sesuai dan banyak ruang untuk semuanya. Saya akan merekomendasikan anjak dalam setidaknya 40GB untuk masing-masing, tergantung pada jenis instalasi yang Anda rencanakan untuk masing-masing.
  4. Buat satu volume logis dengan ukuran yang sama dengan RAM fisik di sistem Anda yaitu 8GB, beri nama "Swap", gunakan sebagai swap, format.

  5. Buat satu volume logis untuk masing-masing OS dalam grup volume, ukur mereka seperti yang disarankan di atas dan beri mereka masing-masing nama yaitu "Ubuntu_12.04" dll.

    • Format masing-masing ke EXT4, beri nama / label partisi saat Anda pergi.

    • Mulailah dengan me-mount yang pertama ini sebagai "/" (root) dan yang lainnya sebagai "jangan gunakan".

Itu dia! Sekarang Anda sudah mendapat partisi swap, "/ boot" dan "/" (root) untuk sistem Anda dan suku cadang untuk instalasi selanjutnya. Anda sekarang dapat melakukan perubahan pada tabel partisi dan melanjutkan dengan sisa instalasi.

Ketika menginstal OS Anda berikutnya, pastikan Anda memasang masing-masing partisi "/ boot" dan "/" (root) berikutnya. Pastikan Anda menandai yang lainnya sebagai "jangan gunakan", termasuk yang Anda gunakan terakhir kali.

Bagian Dua: Mencadangkan file boot UEFI.

Segera setelah Anda mem-boot ke OS baru Anda, Anda harus mem-backup UEFI boot-loader Anda untuk digunakan nanti dan untuk memastikan bahwa itu tidak ditimpa pada instalasi berikutnya. Ini dapat ditemukan di "/ boot / efi / EFI", di dalam foldernya sendiri, biasanya bernama "ubuntu". File yang dimaksud akan memiliki nama yang mirip dengan "grubx64.efi", tergantung pada arsitektur PC Anda; jadi "/boot/efi/EFI/ubuntu/grubx64.efi", untuk mesin saya.

Dalam kasus saya, untuk mencadangkannya saya menyalinnya melalui konsol, seperti:

sudo cp -r /boot/efi/EFI/ubuntu /boot/efi/EFI/Ubuntu_12.04.1

Pasti akan bermanfaat membuat salinan lebih lanjut di folder rumah Anda atau di tempat lain yang aman, kalau-kalau:

cp -r /boot/efi/EFI/ubuntu /home/user/Ubuntu_12.04.1

Setelah ini selesai, Anda dapat menginstal sistem operasi berikutnya dengan aman (mengikuti saran di atas), yang kemungkinan besar akan menimpa file dan folder asli dan juga menjadikannya entri booting UEFI default di "BIOS". Ulangi proses ini lagi dan sebanyak yang diperlukan, beri setiap folder nama yang berbeda, tetapi representatif:

sudo cp -r /boot/efi/EFI/ubuntu /boot/efi/EFI/Server_12.04.1
cp -r /boot/efi/EFI/ubuntu /home/user/Server_12.04.1

Bagian Tiga: Memodifikasi entri UEFI di UEFI "BIOS" Anda.

Dari terminal, masukkan:

sudo efibootmgr

Anda harus mendapatkan beberapa output seperti ini:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0006,0007,0005
Boot0000* ubuntu
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive

Cukup jelas, sungguh. Seharusnya mencerminkan apa yang Anda lihat dalam daftar boot BIOS Anda.

Baca tentang:

man efibootmgr

untuk melihat apa yang dilakukan perintah, kemudian modifikasi contoh perintah di bawah ini untuk menambah dan menghapus entri boot.

Pertama , hapus baris "Boot0000 * ubuntu" dengan:

sudo efibootmgr -b 0000 -B

Keluaran:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0006,0007,0005
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive

Kemudian kami akan menambahkan beberapa entri untuk tiga sistem operasi.

OS # 1:

sudo efibootmgr -c -g -d /dev/sda -p 1 -w -L "Ubuntu 12.04.1" -l \\EFI\\Ubuntu_12.04.1\\grubx64.efi

Keluaran:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0006,0007,0005
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive 
Boot0000* Ubuntu 12.04.1

OS # 2:

sudo efibootmgr -c -g -d /dev/sda -p 1 -w -L "Ubuntu Server 12.04.1" -l \\EFI\\Server_12.04.1\\grubx64.efi

Keluaran:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0001,0000,0006,0007,0005
Boot0000* Ubuntu 12.04.1
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive 
Boot0001* Ubuntu Server 12.04.1

OS # 3:

sudo efibootmgr -c -g -d /dev/sda -p 1 -w -L "Mythbuntu 12.04.1" -l \\EFI\\Mythbuntu_12.04.1\\grubx64.efi

Keluaran:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0002,0001,0000,0006,0007,0005
Boot0000* Ubuntu 12.04.1
Boot0001* Ubuntu Server 12.04.1
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive 
Boot0002* Mythbuntu 12.04.1

Untuk mengubah urutan boot:

sudo efibootmgr -o 0000,0001,0002,0006,0007,0005

Keluaran:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0001,0002,0006,0007,0005
Boot0000* Ubuntu 12.04.1
Boot0001* Ubuntu Server 12.04.1
Boot0002* Mythbuntu 12.04.1
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive

Selesai!

Ada beberapa sintaks yang cukup aneh yang terlibat, terutama di sekitar jalur file, tetapi cukup mudah jika Anda memiliki panduan yang baik (yang saya harap ini).

Terima kasih sudah membaca. :)

https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#efibootmgr

Call me V
sumber
Terima kasih, Abraham Van Membantu. Saya mencoba menjawab sendiri, tetapi saya terlalu banyak noob di sini, saya pikir. Saya akan mencoba merapikannya nanti; formatnya mengerikan! Sekarang 1:30 di sini, jadi saya akan menyerah untuk saat ini!
Rich.T.
2

Penginstal OS apa pun yang menghapus file boot loader EFI OS sebelumnya atau lainnya rusak parah. Ubuntu memiliki masalah ini di masa lalu, tetapi seharusnya diperbaiki dengan versi 12.04. (Saya mengatakan "seharusnya" karena saya telah melihat beberapa laporan masalah di sepanjang baris ini yang membuat saya berpikir bug mungkin masih ada untuk sebagian kecil sistem.) Yang mengatakan, membackup Partisi Sistem EFI Anda (ESP) sebelum Instalasi OS baru adalah polis asuransi yang berguna. Cadangan tingkat file harus memadai, karena EFI tidak bergantung pada kode yang disemprotkan di sektor boot. (Namun, ia bergantung pada GUID partisi, jadi jika sesuatu menghapus ESP dan membuat ESP yang baru, entri bootloader EFI mungkin berhenti bekerja.)

Secara umum, untuk tipe konfigurasi Anda, saya sarankan membuat ESP, sebanyak mungkin /bootpartisi yang Anda perlukan, dan partisi LVM yang besar. Jika Anda berharap untuk menginstal distribusi Linux bersama OS lain, buatlah tiga atau empat partisi LVM dengan ukuran yang bervariasi yang kemudian Anda gabungkan menjadi satu grup volume; dengan cara itu, Anda dapat menarik satu partisi (volume logis) dari grup volume Anda dan mendedikasikannya untuk OS non-Linux. /bootPartisi non-LVM memberi Anda opsi untuk menggunakan boot loader yang tidak mengerti LVM (yaitu, bootloader non-GRUB2).

Ketika Anda menginstal OS baru, itu mungkin akan menginstal bootloader sendiri sebagai default. Dalam pengaturan yang rumit seperti milik Anda, ini mungkin hal yang salah untuk dilakukan sebagian besar waktu. Untuk memperbaikinya, USB flash drive atau CD-R membantu dengan bootloader pilihan Anda. Sesuatu yang bisa auto-mendeteksi loader boot yang lain, seperti mereparasi atau turunannya refind, kemungkinan akan bekerja dengan baik dalam konteks ini. (Perhatikan bahwa binari di situs Web rEFIt hanya berfungsi di Mac; rEFInd adalah pilihan yang lebih aman untuk PC berbasis UEFI.) Atau sebagai alternatif, cara meluncurkan shell EFI dapat membantu, karena Anda dapat memindahkan file, sesuaikan opsi boot, dan perbaiki sejumlah masalah dari shell EFI. Banyak boot loader EFI dan manajer boot dapat meluncurkan shell EFI. (Lihatwiki Arch Linux ini untuk tautan unduhan ke beberapa kerang EFI.) Baik gambar rEFIt dan rEFInd CD termasuk kerang EFI.

Rod Smith
sumber
2

Anda tidak harus menggunakan EFI untuk mem-boot disk 2 + TB; Anda hanya perlu menggunakan GPT dan membuat partisi bios_grub 1 MB di bawah tanda 2Tb. Jika Anda mendapati EFI bermasalah, ini mungkin lebih baik bagi Anda.

psusi
sumber