วิธีการกู้คืนหรือช่วยเหลือ 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 อีกครั้ง
ความต้องการ
- ดาวน์โหลดอิมเมจ 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 ในโหมดการกู้คืนสามารถช่วยให้ผู้ดูแลระบบดำเนินการแก้ไขปัญหาต่างๆ สำหรับระบบที่เสียหายได้ เช่น การกู้คืนข้อมูลหรืองานที่อธิบายไว้ในบทช่วยสอน