เป็นไปได้หรือไม่ที่จะตรวจสอบการติดตั้งด้วงโดยไม่ต้องบูตเครื่องใหม่?


24

ฉันถูกกัดโดยหลายครั้งและในวันนี้หลังจากการopensslอัพเดตในด้วงเซิร์ฟเวอร์ของฉันบ่นว่าฉันควรติดตั้งอีกครั้งเนื่องจาก "ฮาร์ดดิสก์ที่ติดตั้งไว้ก่อนหน้านี้ไม่มีอยู่"

ฉันมีการติดตั้ง RAID 1 โดยมีการตั้งค่าต่อไปนี้ (ตาม bootinfoscript):

> ============================= Boot Info Summary: ===============================
> 
>  => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at
> sector 1 of the same hard drive for core.img. core.img is at this location and looks
>     for (mduuid/d2a04f98760e2b3cc23ba87845667605)/grub on this drive.  
>
> => Grub2 (v1.99) is installed in the MBR of /dev/sdb and looks at sector 1 of
>     the same hard drive for core.img. core.img is at this location and looks
>     for (mduuid/d2a04f98760e2b3cc23ba87845667605)/grub on this drive.

My mount points are:

> /dev/md2 on / type ext4 (rw) 

> /dev/md1 on /boot type ext3 (rw)

And mduuid seems to match the ones bootinfoscript mentions:

> ls -l /dev/disk/by-id/md-uuid-*
>
> lrwxrwxrwx 1 root root 9 Mar 19 11:37 /dev/disk/by-id/md-uuid-38048286:e3004e47:510ca3e1:2bae3f2e -> ../../md2 
>
> lrwxrwxrwx 1 root root 9 Mar 19 11:37 /dev/disk/by-id/md-uuid-d2a04f98:760e2b3c:c23ba878:45667605 -> ../../md1 
>
> lrwxrwxrwx 1 root root 9 Mar 19 11:37 /dev/disk/by-id/md-uuid-e099b695:0143bb58:e4ef7645:0f22ce0b -> ../../md0

การรันด้วงติดตั้งใช้งานได้ แต่ฉันต้องการตรวจสอบให้แน่ใจว่าหลังจากการรีบูตด้วงจะทำให้พาร์ติชันของฉันถูกต้อง

ฉันจะยืนยันได้อย่างไร


1
ฉันไม่ได้ใช้หรือไม่รู้จัก RAID จริงๆ แต่คุณติดตั้งด้วงไปยังรูทของ RAID ไม่ใช่ไปยัง MBR ของไดรฟ์ หากคุณเรียกใช้ Boot-Repair คุณอาจได้รับข้อความเช่นนี้ ไม่มีบูตโหลดเดอร์ติดตั้งอยู่ใน MBR ของ / dev / mapper / isw_cdjacjeebj_VOLUME_0 ตำแหน่งที่ mapper คือโวลุ่ม RAID ของคุณ
oldfred

คำตอบ:


19

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

grub-emuซึ่งอาจทำได้โดยใช้เครื่องมือที่เรียกว่า

man grub-emu

NAME
       grub-emu - GRUB emulator

SYNOPSIS
       grub-emu [OPTION]...

DESCRIPTION
       GRUB emulator.

       -r, --root-device=DEV
              use DEV as the root device [default=guessed]

       -m, --device-map=FILE
              use FILE as the device map [default=/boot/grub/device.map]

       -d, --directory=DIR
              use GRUB files in the directory DIR [default=/boot/grub]

       -v, --verbose
              print verbose messages

ติดตั้งได้อย่างง่ายดายgrub-emuโดยใช้บรรทัดคำสั่ง:

sudo apt-get install grub-emu

ในการรันเพียงใช้เทอร์มินัลเพื่อเรียกใช้คำสั่งนี้:

grub-emu

1
นี่เป็นการทดสอบที่น่าเชื่อถือสำหรับการติดตั้ง grub2 หรือไม่? นอกจากนี้ดูเหมือนว่าการป้อนข้อมูลด้วยแป้นพิมพ์จะไม่ทำงานสำหรับเมนูที่ปรากฏขึ้น มีเคล็ดลับในการเปิดใช้งานหรือไม่
Michael Scheper

ฉันไม่สามารถปิดgrub-emuวิธีเดียวที่จะหยุดมันคือการpkill -SIGKILL -fe grub-emuป้อนข้อมูลด้วยแป้นพิมพ์ไม่ทำงานอย่างใดอย่างหนึ่ง
Aquarius Power

1
@MichaelScheper สิ่งนี้จะแก้ไขการโต้ตอบกับserverfault.com/a/847429/163750 :) โดยทั่วไปxterm -e grub-emuและให้ความสำคัญกับ xterm ไม่ใช่หน้าต่าง grub-emu!
กุมภ์อำนาจ

4

คำตอบนี้ใช้file -s /dev/sdaเพื่อดูว่า GRUB MBR ได้รับการติดตั้งสำเร็จหรือไม่ ที่ผ่านมาว่าคุณสามารถแน่นอนตรวจสอบค่าใน/boot/grub/grub.cfgเพื่อให้แน่ใจว่า UUIDs ตรงกับขึ้นกับค่าในและทำให้แน่ใจว่าทุกอย่างถูกต้องในรูปลักษณ์/dev/disk/by-uuid /boot/grub/device.mapหากไฟล์นั้นผิดคุณจะมีปัญหากับข้อกำหนด (hdX) ใน grub.cfg

การจัดการไฟล์เหล่านี้ด้วยตนเองไม่จำเป็นแม้ว่าคุณจะใช้งานupdate-grubหลังจากติดตั้งด้วงบนไดรฟ์สำรอง gotchas ที่ใหญ่ที่สุดในประสบการณ์ของฉันไม่ได้อัปเดตการกำหนดค่า GRUB ไม่ได้ติดตั้ง GRUB ในไดรฟ์ทั้งหมดหรือการแบ่งพาร์ติชันที่ไม่เหมาะสมทำให้คุณไม่สามารถติดตั้ง GRUB ได้โดยไม่ต้องใช้ --force


2
คำตอบนั้นใช้file -sสำหรับ grub1 เท่านั้นสำหรับ grub 2 มีคำตอบที่สองแนะนำdd bs=512 count=1 if=/dev/sda 2>/dev/null | strings|grep GRUB
rubo77

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