Score:0

เหตุใดโฮสต์ Linux ที่ใช้ EFI จึงทำการบูทไปยังไดรฟ์ที่สอง

ธง ls

ฉันมีเซิร์ฟเวอร์หลายตัวที่มีการตั้งค่าพื้นฐานเหมือนกัน: ไดรฟ์หลักที่มี VFAT /boot/efi, XFS /boot และ XFS / บน LVM; และไดรฟ์รองด้วยสิ่งเดียวกันทุกประการ แต่ละพาร์ติชันซิงค์ทุกคืน

ฉันยังมีสคริปต์ที่ทำให้แน่ใจ (ในทางทฤษฎี) ว่าด้วงและ EFI และอื่น ๆ ได้รับการตั้งค่า ดังนั้นเมื่อรีบูตเซิร์ฟเวอร์ มันจะบูตจากไดรฟ์หลัก โดยปกติจะใช้งานได้ แต่บนเซิร์ฟเวอร์เฉพาะนี้ ดูเหมือนว่าจะชอบไดรฟ์รองมากกว่า แม้ว่าฉันจะเปลี่ยนไดร์ฟก็ตาม. นั่นคือ: ดูเหมือนว่าจะบู๊ตไดรฟ์ในสล็อตที่สองอย่างสม่ำเสมอ (แม้ว่าจะเป็นเรื่องน่าสังเกตว่าตั้งแต่ฉันต่อสายเคเบิลไดรฟ์ด้วยตัวเอง เป็นไปได้โดยสิ้นเชิงที่สล็อตที่สองจะระบุเป็นอันดับแรกบนเมนบอร์ด แต่ฉันไม่สามารถเข้าใจได้ว่าทำไมถึงเป็นเช่นนั้น แม้แต่เรื่อง)

นี่คือสถานการณ์ LVM:

rlpowell@stodi> sudo pvs
  PV VG Fmt Attr PSize Pฟรี
  /dev/sda3 stodi_orange_2021_10 lvm2 a-- 930.55g 0
  /dev/sdb3 stodi_pink_2020_10 lvm2 a-- 930.55g 0
rlpowell@stodi> sudo lvs
  LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
  ราก stodi_orange_2021_10 -wi-ao---- 930.55g
  รูท stodi_pink_2020_10 -wi-ao---- 930.55g

(ในโฮสต์นี้ สีส้มเป็นสีหลักและสีชมพูเป็นสีรอง)

เมื่อเริ่มทำงาน เรามี:

/dev/mapper/stodi_orange_2021_10-root 931G 686G 245G 74% /
/dev/sda2 483M 256M 228M 53% /บูต
/dev/sda1 488M 6.4M 482M 2% /บูต/efi

rlpowell@stodi> cat /proc/partitions
ชื่อรอง #blocks ที่สำคัญ

   8 0 976762584 sda
   8 1 499712 sda1
   8 2 499712 sda2
   8 3 975762119 sda3
  11 0 1048575 sr0
 253 0 975757312 dm-0
   8 16 976762584 สบพ
   8 17 499712 sdb1
   8 18 499712 sdb2
   8 19 975762119 sdb3
 253 1 975757312 dm-1

นี่คือสถานการณ์ EFI:

rlpowell@stodi> sudo efibootmgr -v
บูตปัจจุบัน: 0013
หมดเวลา: 30 วินาที
BootOrder: 0001,0015,000C,0000,0013,0002,0003,0004,0005,0006,0007,0008,0009,000A,000B,000C,000D,000E,000F,0010,0011,0012,0013,0014, 0016
เมนูเริ่มต้น Boot0000 FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)....ISPH
Boot00000013* Samsung SSD 870 EVO 1TB PciRoot(0x0)/Pci(0x11,0x4)/Sata(0,0,0)N.....YM....R,Y.....ISPH
Boot0001* stodi_orange_2021_10 HD(1,GPT,cb8227c2-dc52-fc4f-bd8f-b46f71104428,0x800,0xf4000)/ไฟล์(\EFI\fedora\shimx64.efi)
Boot0002 ตั้งค่า Bios FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0003 การจัดการ ROM ทางเลือกของบุคคลที่สาม FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0004 การวินิจฉัยระบบ FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0005 การวินิจฉัยระบบ FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0006 การวินิจฉัยระบบ FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0007 การวินิจฉัยระบบ FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0008 เมนูบูต FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0009 USB: BBS(65535,,0x0)/PciRoot(0x0)/Pci(0x1d,0x0)......ISPH
Boot000A เครือข่าย Boot FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot000B* Samsung SSD 870 EVO 1TB BBS(HD,Harddisk1,0x400)/PciRoot(0x0)/Pci(0x11,0x4)......ISPH
Boot000C* IBA GE Slot 00C8 v1550 BBS(เครือข่าย,Network1,0x0)/PciRoot(0x0)/Pci(0x19,0x0)......ISPH
Boot000D* IBA GE Slot 0500 v1550 BBS(เครือข่าย,Network1,0x0)/PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)......ISPH
Boot000E* IBA GE Slot 0500 v1550 BBS(เครือข่าย,Network1,0x0)/PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)......ISPH
Boot000F USB: PciRoot(0x0)/Pci(0x1d,0x0)N.....YM....R,Y.....ISPH
Boot0010* hp DVDRW DU8A6SH PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0,0,0)N.....YM....R,Y.....ISPH
Boot0011* hp DVDRW DU8A6SH BBS(ซีดีรอม,ซีดีรอม1,0x400)/PciRoot(0x0)/Pci(0x1f,0x2)......ISPH
Boot0012 ข้อมูลระบบ FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0013* Fedora HD(1,GPT,cb8227c2-dc52-fc4f-bd8f-b46f71104428,0x800,0xf4000)/ไฟล์(\EFI\fedora\shimx64.efi)....ISPH
Boot0014 HP Recovery FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0015* stodi_pink_2020_10 HD(1,GPT,3dc251c1-c845-1f4b-9a0b-ebc15792efd6,0x800,0xf4000)/ไฟล์(\EFI\fedora\shimx64.efi)
Boot0016* Samsung SSD 860 EVO 1TB PciRoot(0x0)/Pci(0x11,0x4)/Sata(1,0,0)N.....YM....R,Y.....ISPH

และนี่คือด้วง:

rlpowell@stodi> sudo grub2-editenv /boot/grub2/grubenv รายการ
save_entry=a7afe39309446d92f17c60bc5467f619-5.14.9-200.fc34.x86_64
kernelopts=root=/dev/stodi_orange_2021_10/root ro rd.auto การบังคับใช้=0 crashkernel=auto video=DP-1:1280x1024-32@60e
boot_success=1
boot_indeterminate=0

rlpowell@stodi> sudo cat /boot/loader/entries/a7afe39309446d92f17c60bc5467f619-5.14.9-200.fc34.x86_64.conf
ชื่อ Fedora (5.14.9-200.fc34.x86_64) 34 (สามสิบสี่)
รุ่น 5.14.9-200.fc34.x86_64
ลินุกซ์ /vmlinuz-5.14.9-200.fc34.x86_64
เริ่มต้น /initramfs-5.14.9-200.fc34.x86_64.img
ตัวเลือก root=/dev/mapper/stodi_orange_2021_10-root ro rd.auto การบังคับใช้=0 เคอร์เนลขัดข้อง=วิดีโออัตโนมัติ=DP-1:1280x1024-32@60e
grub_users $grub_users
grub_arg --ไม่จำกัด
เคอร์เนล grub_class

แต่ถ้าฉันรีบูตอย่างที่ฉันพูด มันจะลงเอยด้วยการรันบน LV สีชมพูแทน (เช่นบนไดรฟ์รอง) นี่เป็นเรื่องจริงแม้ว่าก่อนหน้านี้ฉันจะบูทจากสีส้มโดยถอดไดรฟ์สีชมพูออก

ฉันไม่เห็นว่าส่วนใดของสิ่งนี้ทำให้เป็นไปได้

อาจมีบางอย่างเกิดขึ้นใน BIOS ที่ efibootmgr ไม่สามารถส่งผลกระทบได้

แก้ไข: ข้อมูล UUID:

rlpowell@stodi> sudo blkid
/dev/sda1: SEC_TYPE="msdos" UUID="E6B6-7A41" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="/boot/efi - พาร์ติชันระบบ EFI" PARTUUID="cb8227c2-dc52-fc4f-bd8f- b46f71104428"
/dev/sda2: UUID="544b6c29-f436-4b2f-ab73-f2cf643638b7" BLOCK_SIZE="512" TYPE="xfs" PARTLABEL="/boot Partition" PARTUUID="fe677923-076f-2c47-bf0d-98b4d7e3e86f"
/dev/sda3: UUID="ur5eed-EJqk-y2op-F1dY-RpUC-SQGW-MCUk48" TYPE="LVM2_member" PARTLABEL="LVM: root on stodi_orange_2021_10" PARTUUID="b4754fd9-f637-2b4c-9fec-3e120521956f"
/dev/mapper/stodi_orange_2021_10-root: UUID="011f7198-26d2-4c34-bc39-85fc45c55422" BLOCK_SIZE="512" TYPE="xfs"
/dev/sdb1: SEC_TYPE="msdos" UUID="6CBC-8CFB" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="/boot/efi - พาร์ติชันระบบ EFI" PARTUUID="3dc251c1-c845-1f4b-9a0b- ebc15792efd6"
/dev/sdb2: UUID="0719024b-8442-4b64-a279-842a6533b511" BLOCK_SIZE="512" TYPE="xfs" PARTLABEL="/boot Partition" PARTUUID="8b0e313c-37bc-d242-8b23-b4fc6dbaf519"
/dev/sdb3: UUID="82fp7k-I0Th-92EP-gJ0O-MD5A-efK0-YxZ0bP" TYPE="LVM2_member" PARTLABEL="/ พาร์ทิชัน" PARTUUID="b64d042d-443e-6445-afbf-0673810b5a2a"
/dev/mapper/stodi_pink_2020_10-root: UUID="ac593057-5586-416c-b141-c8173cdb4d61" BLOCK_SIZE="512" TYPE="xfs"
in flag
สิ่งนี้ดำเนินไปบน guids ส่วนใหญ่ EFI boot mgr จะระบุว่าเป็นรายการใน GPT guid หากเป็นไปได้ อาจเพิ่ม blkid / lsblk และ sfdisk -d สำหรับทั้งสองดิสก์ด้วย ตรวจสอบว่าคำแนะนำใด ๆ ที่เหมือนกันระหว่างไดรฟ์ อาจเปรียบเทียบสิ่งนี้กับเครื่องอื่นของคุณที่มันทำงานต่างกัน หากต้องการจำกัดขอบเขตให้แคบลง ให้ลองค้นหาว่าไดร์ฟใดใช้ในขั้นตอนใดของกระบวนการบู๊ต ตามทฤษฎีแล้ว เฟิร์มแวร์สามารถโหลดด้วงจากไดร์ฟหนึ่ง คอนฟิกูเรชันด้วงโหลดจากไดร์ฟอื่น เป็นต้น
ls flag
เพิ่มข้อมูล blkid; ดูเหมือนว่าจะตรงกันอย่างถูกต้อง คุณมีคำแนะนำเกี่ยวกับวิธีพิจารณาว่าไดรฟ์ใดใช้ในขั้นตอนใดหรือไม่?
in flag
คุณสามารถบูตเครื่องด้วยไดรฟ์เดียวและใช้งานได้กับทั้งสองไดรฟ์ (ทีละไดรฟ์) หรือไม่
ls flag
ใช่ มันจะบูตจากไดรฟ์ใดไดรฟ์หนึ่งหากเป็นไดรฟ์เดียวในกล่อง (นั่นคือวิธีที่ฉันจัดการปัญหา อันที่จริง บูตโดยที่ไดรฟ์รองโผล่ออกมา เสียบเข้าไปหลังจากเปิดเครื่องก่อนเวลา)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา