ค้นหาเว็บไซต์

วิธีการกู้คืนหรือช่วยเหลือ Grub Boot Loader ที่เสียหายใน CentOS 7


ในบทช่วยสอนนี้ เราจะพูดถึงกระบวนการช่วยเหลือบูตโหลดเดอร์ที่เสียหายใน CentOS 7 หรือ Red Hat Enterprise Linux 7 และกู้คืนรหัสผ่านรูทที่ถูกลืม

ตัวโหลดการบูต GRUB บางครั้งอาจเสียหาย ถูกบุกรุก หรือถูกลบใน CentOS เนื่องจากปัญหาต่างๆ เช่น ความล้มเหลวที่เกี่ยวข้องกับฮาร์ดแวร์หรือซอฟต์แวร์ หรือบางครั้งอาจถูกแทนที่ด้วยระบบปฏิบัติการอื่น ในกรณีที่ทำการบูทคู่ ตัวโหลดการบูต Grub ที่เสียหายทำให้ระบบ CentOS/RHEL ไม่สามารถบูตได้ และถ่ายโอนการควบคุมไปยังเคอร์เนล Linux เพิ่มเติม

Grub boot loader ขั้นที่ 1 ได้รับการติดตั้งบนไบต์ 448 แรกที่จุดเริ่มต้นของฮาร์ดดิสก์ทุกตัว ในพื้นที่ที่มักเรียกว่า Master Boot Record (MBR )

อ่านเพิ่มเติม: วิธีช่วยเหลือ ซ่อมแซม และกู้คืน Grub Boot Loader ใน Ubuntu

ขนาดสูงสุด MBR คือ 512 ไบต์ ถ้าด้วยเหตุผลบางประการที่ไบต์ 448 แรกถูกเขียนทับ CentOS หรือ Red Hat Enterprise Linux จะไม่สามารถโหลดได้ เว้นแต่คุณจะบูตเครื่องด้วย อิมเมจ CentOS ISO ในโหมดช่วยเหลือหรือใช้วิธีการโหลดการบูตอื่น ๆ และติดตั้งตัวโหลดการบูต MBR GRUB อีกครั้ง

ความต้องการ

  1. ดาวน์โหลดอิมเมจ ISO ดีวีดี CentOS 7

กู้คืน GRUB Boot Loader ใน CentOS 7

1. ในขั้นตอนแรก ให้ดาวน์โหลดอิมเมจ CentOS 7 ISO เวอร์ชันล่าสุด แล้วเบิร์นลงดีวีดีหรือสร้างแท่ง USB ที่สามารถบูตได้ วางอิมเมจที่สามารถบู๊ตได้ลงในไดรฟ์ที่เหมาะสมของเครื่องและรีบูตเครื่อง

ขณะที่ BIOS ทำการทดสอบ POST ให้กดปุ่มพิเศษ (Esc, F2, F11, F12, Del ขึ้นอยู่กับคำแนะนำของเมนบอร์ด) เพื่อเข้าสู่การตั้งค่า BIOS และแก้ไข ลำดับการบู๊ตเพื่อให้อิมเมจ DVD/USB ที่สามารถบู๊ตได้ถูกบู๊ตก่อนเมื่อสตาร์ทเครื่อง ดังที่แสดงในภาพด้านล่าง

2. หลังจากที่ตรวจพบสื่อสำหรับบูต CentOS 7 แล้ว หน้าจอแรกจะปรากฏในเอาต์พุตของหน้าจอเครื่องของคุณ จากเมนูแรก เลือกตัวเลือก การแก้ไขปัญหา แล้วกดปุ่ม [enter] เพื่อดำเนินการต่อ

3. ในหน้าจอถัดไป เลือกตัวเลือก ช่วยเหลือระบบ CentOS แล้วกดปุ่ม [enter] เพื่อไปต่อ หน้าจอใหม่จะปรากฏขึ้นพร้อมข้อความ 'กดปุ่ม Enter เพื่อเริ่มกระบวนการติดตั้ง' ที่นี่ เพียงกดปุ่ม [enter] อีกครั้งเพื่อโหลดระบบ CentOS ลงในหน่วยความจำ

4. หลังจากที่ซอฟต์แวร์ตัวติดตั้งโหลดลงใน RAM ของเครื่องแล้ว ข้อความแจ้งสภาพแวดล้อมการช่วยเหลือจะปรากฏขึ้นบนหน้าจอของคุณ ที่พรอมต์นี้ให้พิมพ์ 1 เพื่อ ดำเนินการต่อ ด้วยกระบวนการกู้คืนระบบ ดังที่แสดงในภาพด้านล่าง

5. ในข้อความแจ้งถัดไป โปรแกรมช่วยเหลือจะแจ้งให้คุณทราบว่าระบบของคุณถูกเมาท์ภายใต้ไดเร็กทอรี /mnt/sysimage ตามที่โปรแกรมช่วยเหลือแนะนำ ให้พิมพ์ chroot /mnt/sysimage เพื่อเปลี่ยนลำดับชั้นแผนผัง Linux จากอิมเมจ ISO ไปเป็นพาร์ติชันรูทที่เมาท์ไว้ใต้ดิสก์ของคุณ

6. จากนั้น ระบุฮาร์ดไดรฟ์ในเครื่องของคุณโดยออกคำสั่งด้านล่างในพร้อมท์การช่วยเหลือ

ls /dev/sd*

ในกรณีที่เครื่องของคุณใช้ตัวควบคุม RAID แบบฟิสิคัลตัวเก่า ดิสก์จะมีชื่ออื่น เช่น /dev/cciss นอกจากนี้ ในกรณีที่ระบบ CentOS ของคุณได้รับการติดตั้งภายใต้เครื่องเสมือน ฮาร์ดดิสก์อาจมีชื่อว่า /dev/vda หรือ /dev/xvda

อย่างไรก็ตาม หลังจากที่คุณระบุฮาร์ดดิสก์ในเครื่องของคุณแล้ว คุณสามารถเริ่มการติดตั้ง GRUB boot loader ได้โดยใช้คำสั่งด้านล่าง

ls /sbin | grep grub2  # Identify GRUB installation command
/sbin/grub2-install /dev/sda  # Install the boot loader in the boot partition of the first hard disk

7. หลังจากติดตั้งบูตโหลดเดอร์ GRUB2 ในพื้นที่ MBR ของฮาร์ดดิสก์ของคุณแล้ว ให้พิมพ์ exit เพื่อกลับไปยังแผนผังอิมเมจ ISO สำหรับการบูต CentOS และ รีบูต เครื่องโดยพิมพ์ init 6 ในคอนโซล ดังที่แสดงในภาพหน้าจอด้านล่าง

8. หลังจากที่เครื่องรีสตาร์ท คุณควรเข้าสู่การตั้งค่า BIOS และเปลี่ยนเมนูลำดับการบู๊ต (วางฮาร์ดดิสก์ที่มีตัวโหลดการบูต MBR ที่ติดตั้งไว้ที่ตำแหน่งแรกใน ลำดับเมนูบูต)

บันทึกการตั้งค่า BIOS และ รีบูต เครื่องอีกครั้งเพื่อใช้ลำดับการบูตใหม่ หลังจากรีบูตเครื่องควรเริ่มทำงานโดยตรงในเมนู GRUB ดังที่แสดงในภาพด้านล่าง

ยินดีด้วย! คุณได้ซ่อมแซมระบบ CentOS 7 ของคุณที่เสียหายสำหรับบูตโหลดเดอร์ GRUB แล้ว โปรดทราบว่าบางครั้งหลังจากกู้คืน GRUB boot loader แล้ว เครื่องจะรีสตาร์ทหนึ่งหรือสองครั้งเพื่อใช้การกำหนดค่าด้วงใหม่

กู้คืนรหัสผ่านรูทใน CentOS 7

9. หากคุณลืมรหัสผ่านรูทและคุณไม่สามารถเข้าสู่ระบบ CentOS 7 ได้ คุณสามารถรีเซ็ต (ว่าง) รหัสผ่านโดยการบูตอิมเมจ ISO DVD ของ CentOS 7 ในโหมดการกู้คืนและปฏิบัติตามขั้นตอน ขั้นตอนเดียวกับที่แสดงด้านบน จนกว่าคุณจะไปถึงขั้นตอนที่ 6 ขณะที่คุณถูกคัดลอกเข้าสู่ระบบไฟล์การติดตั้ง CentOS ให้ออกคำสั่งต่อไปนี้เพื่อแก้ไขไฟล์รหัสผ่านบัญชี Linux

vi /etc/shadow

ในไฟล์เงา ให้ระบุบรรทัดรหัสผ่านรูท (โดยปกติจะเป็นบรรทัดแรก) เข้าสู่ โหมดแก้ไข vi โดยกดปุ่ม i และลบสตริงทั้งหมดระหว่างเครื่องหมายทวิภาคแรก “: ” และโคลอนที่สอง ”: ” ดังที่แสดงในภาพหน้าจอด้านล่าง

หลังจากที่คุณเสร็จสิ้น ให้บันทึกไฟล์โดยกดปุ่มต่อไปนี้ตามลำดับ Esc -> : -> wq!

10. สุดท้าย ออกจาก คอนโซลที่ chrooted แล้วพิมพ์ init 6 เพื่อ รีบูต เครื่อง หลังจากรีบูต ให้เข้าสู่ระบบ CentOS ของคุณด้วยบัญชีรูท ซึ่งไม่มีการกำหนดค่ารหัสผ่านในขณะนี้ และตั้งค่ารหัสผ่านใหม่สำหรับผู้ใช้รูทโดยดำเนินการ คำสั่ง passwd ดังที่แสดงในภาพหน้าจอด้านล่าง

นั่นคือทั้งหมด! การบูตเครื่องจริงหรือ VM ด้วยอิมเมจ ISO DVD CentOS 7 ในโหมดการกู้คืนสามารถช่วยให้ผู้ดูแลระบบดำเนินการแก้ไขปัญหาต่างๆ สำหรับระบบที่เสียหายได้ เช่น การกู้คืนข้อมูลหรืองานที่อธิบายไว้ในบทช่วยสอน