当 grub 在启动时不再挂载启动分区时如何修复?

当 grub 在启动时不再挂载启动分区时如何修复?

该系统在 dm-raid 设备上有一个启动分区。

我使用标准方法将系统从较旧的 Ubuntu 更新到最新的 LTS。现在,如果通过“apt-get upgrade”更新内核,则不会加载新内核。GRUB 启动屏幕中也不会列出条目。

我已确定 update-grub 的工作方式与我预期的一样,更新了挂载在 /boot 上的分区。但是,当我启动它时,GRUB 会读取根驱动器 /boot 文件夹。它在启动前不会将 raid isw_dbbbejgeca_Volume0p1 挂载到 /boot。

如果我将已挂载的 /boot 驱动器的内容复制到一个文件夹,然后卸载它并将所有内容复制到根驱动器 /boot 文件夹,则系统将启动新内核并在 GRUB 菜单中显示所有更新。

我需要帮助以确保 GRUB 将安装基于 raid 的启动分区。

接下来是启动修复工具的一些输出。

启动信息脚本 e7fc706 + 启动修复额外信息 [启动信息 2014 年 11 月 23 日]

============================== 启动信息摘要: =================================

 => /dev/sdc 的 MBR 中没有安装引导加载程序。

    操作系统:Ubuntu 14.04.1 LTS
    启动文件:/etc/fstab

============================= 驱动器/分区信息: ==============================

“blkid” 输出:________________________________________________________________

设备 UUID 类型标签

/dev/mapper/isw_dbbbejgeca_Volume0p1 840df97f-7154-49a3-aa9c-02bd092d416c ext2       
/dev/mapper/isw_dbbbejgeca_Volume0p5 M9ln25-ua43-3S0c-xWeT-8Ejd-tk2U-kp5nNG LVM2_member
/dev/mapper/server01-root c16300cf-e8da-4e2b-b34a-45d8fc12fb44 ext4       
/dev/mapper/server01-swap_1 b67b89f9-a131-46f8-b29b-0eb450e18a6a 交换       
/dev/sda isw_raid_member
/dev/sdb isw_raid_member
/dev/sdc1 08652f68-2f8e-4044-8c0b-9b33cb623bba ext4       

=========================== “ls -l /dev/disk/by-id” 输出: ========================

共 0
lrwxrwxrwx 1 root root 9 一月 19 23:21 ata-OCZ-VERTEX_30565XA328O39Y3Y2A6G -> ../../sda
lrwxrwxrwx 1 root root 9 一月 19 23:21 ata-OCZ-VERTEX_OH43J28TQB2Q7T570144 -> ../../sdb
lrwxrwxrwx 1 根 根 9 一月 19 23:21 ata-WDC_WD20EARS-00MVWB0_WD-WCAZA1927955 -> ../../sdc
lrwxrwxrwx 1 根 根 10 一月 19 23:11 ata-WDC_WD20EARS-00MVWB0_WD-WCAZA1927955-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 一月 19 23:11 dm-name-isw_dbbbejgeca_Volume0 -> ../../dm-0
lrwxrwxrwx 1 root root 10 月 19 日 23:21 dm-name-isw_dbbbejgeca_Volume0p1 -> ../../dm-1
lrwxrwxrwx 1 root root 10 一月 19 23:21 dm-name-isw_dbbbejgeca_Volume0p2 -> ../../dm-2
lrwxrwxrwx 1 root root 10 一月 19 23:11 dm-name-isw_dbbbejgeca_Volume0p5 -> ../../dm-3
lrwxrwxrwx 1 root root 10 月 19 日 23:21 dm-name-server01-root -> ../../dm-4
lrwxrwxrwx 1 root root 10 一月 19 23:21 dm-name-server01-swap_1 -> ../../dm-5
lrwxrwxrwx 1 根 根 10 月 19 日 23:11 dm-uuid-DMRAID-isw_dbbbejgeca_Volume0 -> ../../dm-0
lrwxrwxrwx 1 根 根 10 月 19 日 23:21 dm-uuid-LVM-P3d2Ucn1G9Wx7NUE0e5vNgabXjXrfHIe555TD7gDdpyqH82c1sP9ofmm1Ook2SIS -> ../../dm-4
lrwxrwxrwx 1 root root 10 一月 19 23:21 dm-uuid-LVM-P3d2Ucn1G9Wx7NUE0e5vNgabXjXrfHIeA3DF0518wh8WsbW9i1cbOrcywyAwRUAg -> ../../dm-5
lrwxrwxrwx 1 根 根 10 月 19 日 23:21 dm-uuid-part1-DMRAID-isw_dbbbejgeca_Volume0 -> ../../dm-1
lrwxrwxrwx 1 根 根 10 一月 19 23:21 dm-uuid-part2-DMRAID-isw_dbbbejgeca_Volume0 -> ../../dm-2
lrwxrwxrwx 1 根 根 10 一月 19 23:11 dm-uuid-part5-DMRAID-isw_dbbbejgeca_Volume0 -> ../../dm-3
lrwxrwxrwx 1 root root 10 一月 19 23:21 raid-isw_dbbbejgeca_Volume0-part1 -> ../../dm-1
lrwxrwxrwx 1 root root 10 一月 19 23:21 raid-isw_dbbbejgeca_Volume0-part2 -> ../../dm-2
lrwxrwxrwx 1 root root 10 一月 19 23:11 raid-isw_dbbbejgeca_Volume0-part5 -> ../../dm-3
lrwxrwxrwx 1 root root 9 一月 19 23:21 wwn-0x50014ee2052521f1 -> ../../sdc
lrwxrwxrwx 1 根 根 10 月 19 日 23:11 wwn-0x50014ee2052521f1-part1 -> ../../sdc1

=========================== “ls -R /dev/mapper/” 输出: ============================

/dev/映射器:
控制
isw_dbbbejgeca_Volume0
isw_dbbbejgeca_Volume0p1
isw_dbbbejgeca_Volume0p2
isw_dbbbejgeca_Volume0p5
server01-root
server01-swap_1

=================================== 挂载点: ===================================

设备 Mount_Point 类型选项

/dev/mapper/isw_dbbbejgeca_Volume0p1 /boot ext2 (读写)
/dev/mapper/server01-root / ext4 (rw,错误=remount-ro)
/dev/sdc1 /home/backup/repos ext4 (读写)


============================= server01-root/etc/fstab: ==============================

----------------------------------------------------------------------------------
#/etc/fstab:静态文件系统信息。
#
# 使用 'blkid -o value -s UUID' 打印通用唯一标识符
# 对于设备;这可以与 UUID= 一起使用,作为更强大的命名方式
# 即使添加和删除磁盘,设备也能正常工作。请参阅 fstab(5)。
#
#                
proc /proc proc nodev,noexec,nosuid 0 0
/dev/mapper/server01-root / ext4 错误=remount-ro 0 1
/dev/mapper/isw_dbbbejgeca_Volume0p1 /boot ext2 默认值 0 2
/dev/mapper/server01-swap_1 无 交换 sw 0 0
/dev/scd0 /media/floppy0 自动 rw,用户,noauto,exec,utf8 0 0
UUID=08652f68-2f8e-4044-8c0b-9b33cb623bba /home/backup ext4 默认值 0 2   

----------------------------------------------------------------------------------

========= 似乎没有对应硬盘的设备: =========

{全部_DMRaid}

=================== 操作系统探测器:
/dev/mapper/server01-root:当前使用的操作系统 - Ubuntu 14.04.1 LTS CurrentSession:linux

==================== blkid:
/dev/sda:类型="isw_raid_member"
/dev/sdb:类型="isw_raid_member"
/dev/mapper/isw_dbbbejgeca_Volume0p1:UUID=“840df97f-7154-49a3-aa9c-02bd092d416c” TYPE=“ext2”
/dev/mapper/isw_dbbbejgeca_Volume0p5:UUID=“M9ln25-ua43-3S0c-xWeT-8Ejd-tk2U-kp5nNG”TYPE=“LVM2_member”
/dev/mapper/server01-root:UUID=“c16300cf-e8da-4e2b-b34a-45d8fc12fb44”TYPE=“ext4”
/dev/mapper/server01-swap_1:UUID=“b67b89f9-a131-46f8-b29b-0eb450e18a6a” TYPE=“swap”

[dmraid -sa -c] isw_dbbbejgeca_Volume0
设置sda为mapper/server01-root对应的磁盘

1 个带有操作系统的磁盘,1 个操作系统:1 个 Linux、0 个 MacOS、0 个 Windows、0 个未知类型的操作系统。

警告:扩展分区未从柱面边界开始。
DOS 和 Linux 对内容的解释有所不同。

sfdisk:错误:扇区 500734 没有 msdos 签名
警告:扩展分区未从柱面边界开始。
DOS 和 Linux 对内容的解释有所不同。
警告:分区表 5 的无效标志 0x616f 将通过 w(rite) 进行更正
警告:分区表 5 的无效标志 0x616f 将通过 w(rite) 进行更正

==================== /etc/grub.d/:
drwxr-xr-x 2 root root 4096 十月 21 10:25 grub.d
总计 76
-rwxr-xr-x 1 root root 9761 十月 28 09:08 00_header
-rwxr-xr-x 1 root root 6058 2014 年 5 月 8 日 05_debian_theme
-rwxr-xr-x 1 root root 11608 11月 3 18:39 10_linux
-rwxr-xr-x 1 root root 10412 2014 年 5 月 15 日 20_linux_xen
-rwxr-xr-x 1 root root 1992年3月12日2014年20_memtest86+
-rwxr-xr-x 1 root root 11692 2014年5月15日 30_os-prober
-rwxr-xr-x 1 root root 1416 2014年5月15日 30_uefi-firmware
-rwxr-xr-x 1 root root 214 2010 年 10 月 6 日 40_custom
-rwxr-xr-x 1 root root 216 2014 年 5 月 15 日 41_custom
-rw-r--r-- 1 root root 483 2010 年 10 月 6 日 自述文件

==================== /etc/default/grub:

# 如果你更改了此文件,请随后运行“update-grub”进行更新
#/boot/grub/grub.cfg。
# 有关此文件中选项的完整文档,请参阅:
# info -f grub -n ‘简单配置’

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 安静"
GRUB_CMDLINE_LINUX=""

# 取消注释以启用 BadRAM 过滤,修改以满足您的需求
# 这适用于 Linux(无需补丁)以及任何获得
# 来自 GRUB(GNU Mach、FreeBSD 的内核...)的内存映射信息
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# 取消注释以禁用图形终端(仅限 grub-pc)
#GRUB_TERMINAL=控制台

# 图形终端使用的分辨率
# 请注意,您只能使用您的显卡通过 VBE 支持的模式
# 您可以使用命令“vbeinfo”在真实的 GRUB 中看到它们
#GRUB_GFXMODE=640x480

# 如果不希望 GRUB 将“root=UUID=xxx”参数传递给 Linux,请取消注释
#GRUB_DISABLE_LINUX_UUID=true

# 取消注释以禁用恢复模式菜单项的生成
#GRUB_DISABLE_RECOVERY="真"

# 取消注释以便在 grub 启动时听到哔声
#GRUB_INIT_TUNE="480 440 1"

/boot 在 mapper/server01-root 的 fstab 中检测到:/dev/mapper/isw_dbbbejgeca_Volume0p1 (mapper/isw_dbbbejgeca_Volume0p1)

===================== mapper/server01-root/etc/mdadm/mdadm.conf:
#mdadm.conf
#
# 有关此文件的信息,请参阅 mdadm.conf(5)。
#

# 默认情况下(内置),扫描所有分区(/proc/partitions)和所有
# MD 超级块的容器。或者,使用以下方式指定要扫描的设备
# 如果需要,可以使用通配符。
#DEVICE 分区

# 使用 Debian 标准权限自动创建设备
创建所有者=根组=磁盘模式=0660 自动=是

# 自动将新数组标记为属于本地系统
家主

# 指示监控守护进程将邮件警报发送到哪里
MAILADDR 根

# 现有 MD 数组的定义
ARRAY 元数据=imsm UUID=a624f30e:6036d720:067d7817:ea238d58
数组 /dev/md/Volume0 容器 = a624f30e:6036d720:067d7817:ea238d58 成员 =0 UUID = 03fe4a37:77503687:17ce6055:d75a6ac2

==================== 分区和磁盘:
mapper/server01-root:sdb,。
mapper/isw_dbbbejgeca_Volume0p1:mapper/isw_dbbbejgeca_Volume0,/boot。
sdb :非 GPT、不需要 BIOSboot、无 EFIpart、非 usb、有操作系统、2048 个扇区 * 512 字节
sda :非 GPT、不需要 BIOSboot、无 EFIpart、非 USB、无操作系统、2048 个扇区 * 512 字节
mapper/isw_dbbbejgeca_Volume0:非 GPT、不需要 BIOSboot、无 EFIpart、非 USB、无操作系统、2048 个扇区 * 512 字节

==================== 安装:
/dev/mapper/server01-root 开启 / 类型 ext4 (rw,errors=remount-ro)
/dev/mapper/isw_dbbbejgeca_Volume0p1 位于 /boot 类型 ext2 (rw)

=================== ls:
磁盘 /dev/mapper/isw_dbbbejgeca_Volume0p1 不包含有效的分区表
fdisk: 无法读取 /dev/mapper/isw_dbbbejgeca_Volume0p2: 设备的 ioctl 不合适

==================== df -Th:
文件系统类型大小已用可用使用率%安装于
/dev/mapper/server01-root ext4 225G 209G 4.7G 98% /
/dev/mapper/isw_dbbbejgeca_Volume0p1 ext2 229M 123M 94M 57% /boot
/dev/sdc1 ext4 1.8T 573G 1.2T 33% /home/备份

==================== fdisk -l:

磁盘 /dev/sda:128.0 GB,128035676160 字节
255 个磁头,63 个扇区/磁道,15566 个磁柱,总共 250069680 个扇区
单位 = 1 * 512 = 512 字节的扇区
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标识符:0x00087dad

设备启动开始结束块ID系统
/dev/sda1 512 500223 249856 83 Linux
/dev/sda2 500734 500130303 249814785 5 扩展
/dev/sda5 ? 809621278 1718751574 454565148+ 32 未知

磁盘 /dev/sdb:128.0 GB,128035676160 字节
255 个磁头,63 个扇区/磁道,15566 个磁柱,总共 250069680 个扇区
单位 = 1 * 512 = 512 字节的扇区
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标识符:0x99e561ed

设备启动开始结束块ID系统

磁盘 /dev/mapper/isw_dbbbejgeca_Volume0:256.1 GB,256066715648 字节
255 个磁头,63 个扇区/磁道,31131 个磁柱,总共 500130304 个扇区
单位 = 1 * 512 = 512 字节的扇区
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):131072 字节 / 262144 字节
磁盘标识符:0x00087dad

设备启动开始结束块ID系统
/dev/mapper/isw_dbbbejgeca_Volume0p1 512 500223 249856 83 Linux
/dev/mapper/isw_dbbbejgeca_Volume0p2 500734 500130303 249814785 5 扩展
分区 2 未从物理扇区边界开始。
/dev/mapper/isw_dbbbejgeca_Volume0p5 500736 500130303 249814784 8e Linux LVM

磁盘 /dev/mapper/isw_dbbbejgeca_Volume0p1:255 MB,255852544 字节
255 个磁头,63 个扇区/磁道,31 个柱面,总共 499712 个扇区
单位 = 1 * 512 = 512 字节的扇区
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):131072 字节 / 262144 字节
磁盘标识符:0x00000000


检测到磁盘外部的分区。


=================== 建议修复
Boot-Repair 实用程序的默认修复将清除
(为了启用 raid enable-lvm)并重新安装
将 mapper/server01-root 的 grub2 复制到 sdb 的 MBR 中,使用
以下选项:
        映射器/isw_dbbbejgeca_Volume0p1/boot,
启动标志将被放置在 sdc1 上。
将进行额外修复:
        取消隐藏启动菜单-10s


=================== 建议修理时的建议
警告:继续使用没有互联网的连接将导致您的系统
无法启动。请连接互联网。
你想继续吗?


=================== 建议修复的最终建议
请不要忘记让您的 BIOS 在 sdb(128GB)磁盘上启动!


==================== 用户设置
用户选择的设置不会在启动时生效。

我不确定这些建议。

The boot flag would be placed on sdc1.

sdc1 是备份磁盘,它不会一直在那里。我认为我不需要在该磁盘上进行启动设置。

我担心它可能无法启动。此启动修复需要互联网,但该服务器不会访问互联网。

因此,我请您分享一些 grub 命令来执行其他步骤:

 purge and reinstall the grub2 of mapper/server01-root into the MBR of sdb, using the following options:
    mapper/isw_dbbbejgeca_Volume0p1/boot,
 Additional repair would be performed:
    unhide-bootmenu-10s

答案1

Ubuntu wiki 上有描述。也许一开始就应该去那里问。抱歉。但以防万一。这里是链接。但是,raid 配置不允许在 /dev/sdb 上安装,如 boot-repair 所示。安装必须转到主 raid 卷。以下是另一个链接关于那个。

以下是简短版本:

sudo apt-get update
sudo apt-get purge grub-common
sudo apt-get install grub-pc  #Choose /dev/mapper/isw_dbbbejgeca_Volume0
sudo update-grub
sudo grub-install /dev/mapper/isw_dbbbejgeca_Volume0
sudo grub-install --recheck /dev/mapper/isw_dbbbejgeca_Volume0

相关内容