ฉันจะสร้างสภาพแวดล้อมมัลติบูตโดยใช้ LVM สำหรับระบบปฏิบัติการ * buntu ของคุณบนไดรฟ์ระบบที่จัดรูปแบบ GPT ในระบบที่ใช้ UEFI ได้อย่างไร


9

เหตุผลของฉันสำหรับการใช้ LVM คือฉันติดตั้งอัปเกรดและยุ่งกับการติดตั้งระบบปฏิบัติการของฉันจนพบว่า LVM ทำให้ฉันมีความยืดหยุ่นอย่างมากในการเคลื่อนย้ายขยายโคลนและสำรองพาร์ติชันระบบปฏิบัติการของฉันโดยไม่เสี่ยง ด้วยวิธีการแบ่งพาร์ติชันอื่น ๆ อย่างไรก็ตามมันทำให้ multibooting OS ของคุณซับซ้อนเล็กน้อยและคาดเดาไม่ได้ในบางครั้งโดยเฉพาะอย่างยิ่งกับฮาร์ดแวร์ใหม่ที่ซึ่งกระบวนการได้รับความซับซ้อนอีกระดับ

สิ่งที่ฉันกำลังพูดถึงคือมาเธอร์บอร์ด UEFI ใหม่ (เทียบกับ BIOS) ซึ่งช่วยให้คุณใช้ศักยภาพเต็มรูปแบบและเพื่อบูตจากฮาร์ดไดรฟ์ 3TB + (เมื่อฟอร์แมตใน GPT เมื่อเทียบกับ MBR) สิ่งต่าง ๆ อาจซับซ้อนและเลอะเทอะอย่างไม่น่าเชื่อเพราะทุกครั้งที่คุณติดตั้งระบบปฏิบัติการใหม่บนเครื่องของคุณมันจะเขียนทับไฟล์ EFI bootloader (.efi) ของการติดตั้งก่อนหน้านี้และคุณจะจบด้วยรายการที่แตกหักใน EFI รายการบูต "BIOS" และโหลด bootloaders ด้วงสวยมากที่กระจัดกระจายอยู่รอบพาร์ติชันของคุณ เรื่องนี้ทำให้ฉันขุ่นเคืองในหลาย ๆ ระดับไม่น้อยไปกว่าสุนทรียภาพ

คำตอบ:


6

หมายเหตุ: นี่คือคำตอบของ OP ฉันย้ายมันลงมาที่นี่เพราะ CW ดังนั้นมันจึงไม่ถูกปิด หาก mod เห็นสิ่งนี้โปรดรีพาเรนต์การเป็นเจ้าของ OP เพื่อตอบคำถามด้วยตนเอง

ด้านล่างนี้ฉันจะอธิบายรายละเอียดวิธีทำให้ทั้งหมดนี้ทำงานค่อนข้างกลมกลืนและเรียงลำดับความยุ่งเหยิงได้บ้าง

ส่วนที่หนึ่ง: การติดตั้ง

โปรดทราบว่าหากคุณกำลังจะติดตั้ง Windows 7 (หรือ 8?) ในเครื่องของคุณคุณอาจต้องติดตั้งก่อนโดยเฉพาะอย่างยิ่งในฮาร์ดไดรฟ์ของตัวเองและคุณจะไม่สามารถติดตั้งลงใน กลุ่มโลจิคัลวอลุ่ม นี่เป็นเพราะตัวติดตั้ง Windows 7 GPT / EFI นั้นพื้นฐานมากและจะไม่ยอมให้คุณทำสิ่งต่าง ๆ ที่คุณจะทำที่นี่ หลังจากติดตั้ง windows คุณสามารถปรับขนาดและแบ่งพาร์ติชันเพิ่มพาร์ติชันที่คุณต้องการสำหรับการติดตั้งแบบมัลติบูต พาร์ติชันระบบ EFI ที่ Windows สร้างสามารถนำกลับมาใช้ใหม่สำหรับการติดตั้ง Linux ได้ตลอดเวลาโดยใช้วิธีการที่เปลี่ยนแปลงตามรายละเอียดด้านล่าง

ประการแรกมันช่วยล้างข้อมูลไดรฟ์ระบบของคุณโดยใช้ gparted (หรือสิ่งที่คล้ายกัน) และเริ่มต้นเป็นดิสก์ GPT ก่อนทำสิ่งอื่นใด หากคุณกังวลเล็กน้อยเกี่ยวกับการใช้ตัวแยกพาร์ติชันที่ไม่ใช่กราฟิกในการตั้งค่าดิสก์ของคุณจากรอยขีดข่วนนี่เป็นสิ่งที่คุ้มค่าแน่นอนและทำได้ง่ายจากตัวติดตั้งเดสก์ท็อป USB หรือ CD มาตรฐานแบบสด อย่าทำใน Windows ฉันไม่แน่ใจว่าสิ่งนี้จำเป็นจริงๆ แต่เป็นสิ่งที่ฉันทำ คุณยังสามารถดำเนินการแบ่งพาร์ติชันพื้นฐานสำหรับพาร์ติชันที่ไม่ใช่ LVM ในขั้นตอนนี้ได้เช่นกันเนื่องจากจะไม่เกิดความเสียหายและให้กรอบสำหรับการติดตั้งที่เหมาะสม

ทีนี้เบิร์นแผ่นซีดีติดตั้ง / USB ของคุณ หากคุณใช้ Ubuntu Alternate Desktop ISO (แนะนำ) คุณต้องเบิร์นสิ่งนี้ลงบนแผ่นซีดีเพราะมันจะไม่สามารถใช้งานได้กับแท่ง USB เมื่อใช้สำหรับการติดตั้ง LVM มันจะหยุดด้วยข้อผิดพลาดร้ายแรงเมื่อพยายามเริ่มการโหลดและติดตั้งซอฟต์แวร์ด้วยความถนัด / ภาระงานดังนั้นให้ใช้แผ่นซีดีถ้าคุณรู้ว่าอะไรดีสำหรับคุณ!

  • เซิร์ฟเวอร์ Ubuntu ติดตั้งอย่างดีจาก USB ในทุกกรณี (AFAIK) แต่ฉันพบว่าถ้าฉันต้องการสร้างระบบเดสก์ท็อป Ubuntu / Mythbuntu บนเซิร์ฟเวอร์จะแนะนำ quirks ที่ไม่ตั้งใจทุกประเภทซึ่งต้องใช้เวลาในการคัดแยก ดังนั้นให้ยึดติดกับเดสก์ท็อปถ้านั่นคือสิ่งที่คุณต้องการ

  • Quantal (12.10) มี LVM เป็นตัวเลือกในตัวติดตั้งแบบกราฟิก (ซึ่งยอดเยี่ยม!) ดังนั้น ISO สำรองได้ถูกนำไปใช้ อย่างไรก็ตามฉันพบอินเตอร์เฟซการแบ่งพาร์ติชันด้วยตนเองไม่ยืดหยุ่นขาดตัวเลือก LVM และไม่สามารถใช้งานได้กับมัลติบูต นี่อาจเป็นเพราะปัญหา USB ที่กล่าวถึงก่อนหน้านี้ แต่ตามจริงแล้วฉันมีปัญหามากมายเกี่ยวกับระบบ Quantal ที่ฉันลองใช้ซึ่งฉันยอมแพ้อย่างรวดเร็วและกลับไปที่ Precise (12.04.1)

  • ตัวเลือกหลักอื่น ๆ คือการใช้ตัวติดตั้ง Net-boot ซึ่งฉันไม่มีประสบการณ์จริง ๆ (ยกเว้น Raspberry Pi ของฉัน) แต่ฉันเชื่อว่ามี mini ISOs พร้อมตัวติดตั้งแบบ text-based และ GUI (GTK) ซึ่งสามารถถูกเผาและบูตได้จาก สิ่งเหล่านี้ดึงไฟล์การติดตั้งส่วนใหญ่ได้โดยตรงจากที่เก็บและสามารถปรับแต่งได้อย่างสูง

ถัดไปคุณควรบูทระบบของคุณจาก CD หรือ USB โดยใช้รายการบูต UEFI จากภายใน "BIOS" หรือเมนูบู๊ต (โดยปกติจะเป็นหนึ่งใน [F8] - [F12] บนคีย์บอร์ด)

ฉันจะปล่อยให้คุณผ่านขั้นตอนการติดตั้ง แต่เมื่อคุณไปที่ส่วนการแบ่งพาร์ติชันแล้วให้เลือกการแบ่งพาร์ติชันด้วยตนเองแล้วสร้าง (หรือแก้ไขหากคุณสร้างพาร์ทิชันเหล่านี้แล้ว):

  1. พาร์ติชันเดียวขนาด 200MB, FAT32, พาร์ติชันระบบ EFI, ชื่อ / ป้ายกำกับ "EFI", สามารถบูตได้, จัดรูปแบบ

  2. หลายพาร์ติชัน: ขนาด 256MB, EXT2, สามารถบูตได้, จัดรูปแบบ;

    • คุณควรตั้งชื่อ / ติดป้ายแต่ละรายการสำหรับระบบปฏิบัติการที่พวกเขาจะแสดงเช่น "OS_01_Boot" ... "OS_03_Boot" ... ฯลฯ

    • เริ่มต้นด้วยการติดตั้งสิ่งเหล่านี้เป็น "/ boot" และอื่น ๆ ทั้งหมดเป็น "ห้ามใช้"

    • สร้างพาร์ติชันหนึ่งสำหรับแต่ละระบบปฏิบัติการที่คุณตั้งใจจะติดตั้ง

  3. หนึ่งพาร์ติชันใช้พื้นที่ส่วนที่เหลือของไดรฟ์เป็นไดรฟ์ข้อมูลสำหรับ LVM

    • กำหนดค่า LVM บนไดรฟ์ข้อมูลที่คุณเพิ่งแบ่งพาร์ติชันสร้างกลุ่มวอลุ่มสำหรับ OS ทั้งหมดของคุณตั้งชื่อที่เหมาะสมและมีพื้นที่เหลือเฟือสำหรับทุกระบบ ฉันขอแนะนำให้แยกแฟ็กซ์อย่างน้อย 40GB ขึ้นอยู่กับประเภทของการติดตั้งที่คุณวางแผนไว้สำหรับแต่ละอัน
  4. สร้างโลจิคัลวอลุ่มหนึ่งเดียวที่มีขนาดเท่ากับ RAM จริงในระบบของคุณเช่น 8GB ตั้งชื่อเป็น "Swap" ใช้เป็น swap, format

  5. สร้างโลจิคัลวอลุ่มหนึ่งรายการสำหรับแต่ละ OS ภายในกลุ่มวอลุ่มปรับขนาดตามที่แนะนำข้างต้นและตั้งชื่อแต่ละชื่อเช่น "Ubuntu_12.04" เป็นต้น

    • จัดรูปแบบแต่ละส่วนเป็น EXT4 โดยตั้งชื่อ / ทำพาร์ติชั่นพาร์ติชั่นขณะเดินทาง

    • เริ่มต้นด้วยการติดตั้งสิ่งเหล่านี้เป็น "/" (root) และอื่น ๆ ทั้งหมดเป็น "ห้ามใช้"

แค่นั้นแหละ! ตอนนี้คุณมี swap, "/ boot" และ "/" (root) พาร์ติชั่นสำหรับระบบและอะไหล่สำหรับการติดตั้งครั้งต่อไปของคุณ ตอนนี้คุณสามารถคอมมิตการเปลี่ยนแปลงในตารางพาร์ติชันและดำเนินการต่อกับการติดตั้งที่เหลือ

เมื่อพูดถึงการติดตั้งระบบปฏิบัติการถัดไปของคุณให้ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งพาร์ทิชัน "/ boot" และ "/" (root) ถัดไป โปรดตรวจสอบให้แน่ใจว่าคุณทำเครื่องหมายคนอื่น ๆ ทั้งหมดว่า "ห้ามใช้" รวมถึงรายการที่คุณใช้ครั้งล่าสุด

ส่วนที่สอง: การสำรองไฟล์สำหรับบูต UEFI

ทันทีที่คุณบูตเข้าสู่ระบบปฏิบัติการใหม่ของคุณคุณต้องสำรอง UEFI boot-loader ของคุณเพื่อใช้ในภายหลังและเพื่อให้แน่ใจว่าจะไม่ถูกเขียนทับในการติดตั้งครั้งต่อไป สามารถพบได้ใน "/ boot / efi / EFI" ภายในโฟลเดอร์ของตัวเองมักจะชื่อ "ubuntu" ไฟล์ที่สงสัยจะมีชื่อคล้ายกับ "grubx64.efi" ขึ้นอยู่กับสถาปัตยกรรมของพีซีของคุณ ดังนั้น "/ boot /efi/EFI/ubuntu/grubx64.efi" สำหรับเครื่องของฉัน

ในกรณีของฉันในการสำรองข้อมูลฉันคัดลอกมันผ่านคอนโซลเช่น:

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

มันจะคุ้มค่าที่จะทำสำเนาเพิ่มเติมในโฟลเดอร์บ้านของคุณหรือที่อื่นที่ปลอดภัยในกรณี:

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

เมื่อเสร็จแล้วคุณสามารถติดตั้งระบบปฏิบัติการถัดไปของคุณได้อย่างปลอดภัย (ทำตามคำแนะนำด้านบน) ซึ่งน่าจะเขียนทับไฟล์และโฟลเดอร์ดั้งเดิมและทำให้ UEFI เป็นรายการบูตเริ่มต้นใน "BIOS" ทำขั้นตอนนี้ซ้ำอีกครั้งและบ่อยครั้งเท่าที่จำเป็นทำให้แต่ละโฟลเดอร์มีความแตกต่างกัน แต่ชื่อตัวแทน:

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

ส่วนที่สาม: การแก้ไขรายการ UEFI ใน UEFI "BIOS" ของคุณ

จากเทอร์มินัลให้ป้อน:

sudo efibootmgr

คุณควรได้ผลลัพธ์เช่นนี้:

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

มันค่อนข้างอธิบายตัวเองได้ดีจริงๆ มันควรสะท้อนสิ่งที่คุณเห็นในรายการบูต BIOS ของคุณ

ได้อ่าน:

man efibootmgr

เพื่อดูว่าคำสั่งทำอะไรจากนั้นแก้ไขคำสั่งตัวอย่างด้านล่างเพื่อเพิ่มและลบรายการบูต

ก่อนอื่นให้ลบบรรทัด "Boot0000 * ubuntu" ด้วย:

sudo efibootmgr -b 0000 -B

เอาท์พุท:

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

จากนั้นเราจะเพิ่มรายการสำหรับระบบปฏิบัติการสามระบบ

ระบบปฏิบัติการ # 1:

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

เอาท์พุท:

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

ระบบปฏิบัติการ # 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

เอาท์พุท:

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

ระบบปฏิบัติการ # 3:

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

เอาท์พุท:

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

ในการเปลี่ยนลำดับการบู๊ต:

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

เอาท์พุท:

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

ทำ!

มีบางอย่างที่เกี่ยวข้องกับไวยากรณ์ที่แปลกโดยเฉพาะอย่างยิ่งรอบ ๆ พา ธ ไฟล์ แต่มันค่อนข้างตรงไปตรงมาถ้าคุณมีคำแนะนำที่ดี (ซึ่งฉันหวังว่านี่คือ)

ขอบคุณที่อ่าน. :)

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


ขอบคุณ AbrahamVanHelpsing ฉันพยายามตอบเอง แต่ฉันคิดว่าฉันไม่คิดอะไรมาก ฉันจะพยายามทำให้เป็นระเบียบขึ้นในภายหลัง; การจัดรูปแบบนั้นแย่มาก! นี่คือ 1:30 น. ดังนั้นฉันจะยอมแพ้ในขณะนี้!
Rich.T.

2

ตัวติดตั้งระบบปฏิบัติการใด ๆ ที่ลบไฟล์ตัวโหลดบูทบูต EFI ของ OSI ก่อนหน้าหรืออื่น ๆ นั้นใช้งานไม่ได้ Ubuntu เคยมีปัญหานี้มาแล้ว แต่ได้รับการแก้ไขแล้วด้วยเวอร์ชั่น 12.04 (ฉันพูดว่า "สมมุติ" เพราะฉันเคยเห็นรายงานปัญหาสองสามอย่างที่ทำให้ฉันคิดว่าข้อผิดพลาดอาจยังคงมีอยู่สำหรับระบบส่วนน้อย) กล่าวว่าสำรองข้อมูลพาร์ติชันระบบ EFI (ESP) ของคุณก่อน การติดตั้งระบบปฏิบัติการใหม่เป็นนโยบายประกันที่มีประโยชน์ การสำรองข้อมูลระดับไฟล์ควรจะเพียงพอเนื่องจาก EFI ไม่ได้พึ่งพารหัสที่ถูกกระรอกในภาคบูต (มันไม่พึ่งพาพาร์ทิชันของ GUID แม้ว่าดังนั้นหากสิ่งที่ลบ ESP และสร้างใหม่รายการบูต EFI อาจหยุดการทำงาน.)

สำหรับการกำหนดค่าประเภทของคุณฉันขอแนะนำให้สร้าง ESP เป็น/bootพาร์ติชั่นให้มากที่สุดเท่าที่คุณคิดว่าคุณอาจต้องการและพาร์ติชัน LVM ขนาดใหญ่ หากคุณคาดว่าจะติดตั้งดิสทริบิวชัน Linux พร้อมกับ OS อื่น ๆ ให้ทำพาร์ติชัน LVM สามหรือสี่พาร์ติชันที่มีขนาดแตกต่างกันซึ่งคุณจะรวมเป็นกลุ่มวอลุ่มเดียว ด้วยวิธีนี้คุณสามารถดึงพาร์ติชันหนึ่ง (โลจิคัลวอลุ่ม) ออกจากกลุ่มวอลุ่มของคุณและอุทิศให้กับระบบปฏิบัติการที่ไม่ใช่ Linux /bootพาร์ติชันที่ไม่ใช่ LVM ให้ตัวเลือกในการใช้บูตโหลดเดอร์ที่ไม่เข้าใจ LVM (นั่นคือบูตโหลดเดอร์ที่ไม่ใช่ GRUB2)

เมื่อคุณติดตั้งระบบปฏิบัติการใหม่มันอาจจะติดตั้งบูตโหลดเดอร์ของตัวเองเป็นค่าเริ่มต้น ในการตั้งค่าที่ซับซ้อนอย่างคุณอาจเป็นสิ่งผิดปกติที่จะต้องทำเกือบตลอดเวลา ในการแก้ไขให้ถูกต้องจะช่วยให้มีแฟลชไดรฟ์ USB หรือ CD-R พร้อมตัวโหลดบูตที่คุณต้องการติดตั้งไว้ สิ่งที่สามารถตรวจจับอัตโนมัติตักบูตอื่น ๆ เช่นอานิสงส์หรืออนุพันธ์refind,มีแนวโน้มที่จะทำงานได้ดีในบริบทนี้ (โปรดทราบว่าไบนารีบนเว็บไซต์ rEFIt ทำงานได้เฉพาะบน Macs เท่านั้น rEFInd เป็นตัวเลือกที่ปลอดภัยสำหรับพีซีที่ใช้ UEFI) หรือนอกจากนี้วิธีการเปิดใช้เชลล์ EFI อาจมีประโยชน์เนื่องจากคุณสามารถย้ายไฟล์ได้ ปรับตัวเลือกการบูตและแก้ไขปัญหาต่าง ๆ จากเชลล์ EFI ตัวตักการบูตจำนวนมากของ EFI และตัวจัดการการเริ่มระบบสามารถเปิดตัวเชลล์ EFI (ดูArch Linux wikiสำหรับดาวน์โหลดลิงก์ไปยังเชลล์ EFI บางตัว) ทั้งอิมเมจ rEFIt และ rEFInd CD รวมถึงเชลล์ EFI


2

คุณไม่จำเป็นต้องใช้ EFI เพื่อบู๊ตดิสก์ 2 + TB; คุณต้องใช้ GPT และสร้างพาร์ติชัน bios_grub ขนาด 1 MB ด้านล่างเครื่องหมาย 2Tb หากคุณพบว่า EFI มีปัญหาอาจเป็นวิธีที่ดีกว่าสำหรับคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.