标签: grub2

无头 Ubuntu 服务器机器有时卡在 GRUB 菜单

我在半嵌入式环境中的单板机器上安装了 Ubuntu 10.10 Server;没有键盘或屏幕,只需通过 SSH 访问即可。

所以当它偶尔启动并卡在 GRUB 菜单上,等待按键选择第一个选项时,真的很令人沮丧。

如何将 GRUB 配置为在任何情况下都不等待击键?

更新 #1:没有 menu.lst,因为这是 GRUB 2。但我确实有一个 /etc/default/grub,如下所示:

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="quiet"
GRUB_CMDLINE_LINUX=""
Run Code Online (Sandbox Code Playgroud)

更新#2:我想通了。在引导失败后的引导上,GRUB 禁用自己的超时。由于显示菜单会使启动失败,因此这是一个不可避免的循环。可以通过编辑 /etc/grub.d/00_header 文件并更改 make_timeout 函数来禁用此行为:

make_timeout ()
{
    echo "set timeout=0"
}
Run Code Online (Sandbox Code Playgroud)

现在退出并重新运行 grub 配置更新程序脚本:

sudo update-grub2
Run Code Online (Sandbox Code Playgroud)

对我来说,这种行为将成为 Ubuntu Server 的默认行为是没有意义的,Ubuntu Server 是一种用于通过控制台访问的机器的产品。

ubuntu headless grub grub2 ubuntu-10.10

55
推荐指数
3
解决办法
4万
查看次数

GRUB“核心映像中可能缺少某些模块”警告

一个硬盘从我的 RAID 中崩溃,我添加了一个新硬盘。
现在我想将 GRUB 安装到新硬盘上:使用grub-install /dev/sdb. 我收到这些警告:

Installing for i386-pc platform.
grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
Installation finished. No error reported.
Run Code Online (Sandbox Code Playgroud)

update-grub2我得到:

Generating grub configuration file ...
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some …
Run Code Online (Sandbox Code Playgroud)

ubuntu kernel grub grub2

16
推荐指数
3
解决办法
3万
查看次数

如何在多个磁盘上安装 grub?

我有奇怪的情况 - BIOS 报告的磁盘顺序与 Linux 看到的磁盘顺序不同。

这导致运行有问题 - grub 安装到 sda,但 bios 从 sdd 或类似的东西启动(这台机器有 7 个磁盘,4 个在内部控制器上,3 个在外部控制器上。

是否可以将 grub 安装(以及稍后更新)到所有磁盘,而不仅仅是 /dev/sda?我不知道 bios 想要启动哪个磁盘(所有磁盘都是一样的,而且由于我对它进行了突袭,我无法随意删除它们),所以我看到的唯一解决方案是进行 grub install在所有 sda-​​sdg 上。

这是 Debian 稳定版,带有 Grub2。

linux grub boot grub2

10
推荐指数
2
解决办法
1万
查看次数

Ubuntu 服务器、gpt 分区表、mdadm、grub 启动失败

基本工作系统详细信息:

我使用 Ubuntu 12.04 服务器 CD 安装服务器。

我有 4 个磁盘。在所有磁盘上,我执行了以下操作,类似于此操作方法

  • 创建了一个 2GB 的交换分区
  • 创建了一个 256 GB 的 /boot 分区
  • 创建了一个 64 GB 的 RAID10 分区(用于 root)
  • 创建了一个大的 RAID10 分区,占用了其余空间

我将引导格式化为 ext3。我在根分区和大分区上设置了 RAID10。我将根目录格式化为 ext4。我在大卷上创建了一个逻辑卷,并将其格式化为 ext4。

生成的系统运行良好,启动正常。

问题详情:

然后我决定记录一个失败的过程。作为第一步,我决定重新安装 grub。

# grub-install /dev/sda
warn: This GPT partition label has no BIOS Boot Partition; embedding won't be possible!.
error: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use …
Run Code Online (Sandbox Code Playgroud)

raid ubuntu mdadm grub2 gpt

9
推荐指数
1
解决办法
2万
查看次数

如何强制 Debian 启动新内核?

我在远程系统上的 Grub2 ( 1.98+20100804-14+squeeze1 ) 下运行 Debian 6、Debian GNU/Linux 和 Linux 2.6.32-5-amd64(无法查看预启动消息)。我编译并安装了一个新内核,但无法启动。

我做了什么:

通过以下方式安装软件包:

dpkg -i linux-headers-3.5.3.20120914-amd64_3.5.3.20120914-amd64-10.00.Custom_amd64.deb linux-image-3.5.3.20120914-amd64_3.5.3.20120914-amd64-10.00.Custom_amd64.deb
Run Code Online (Sandbox Code Playgroud)

这更新了 Grub 配置。我的 /boot/grub/grub.cfg 现在包含:

menuentry 'Debian GNU/Linux, with Linux 3.5.3.20120914-amd64' --class debian --class gnu-linux --class gnu --class os {
        insmod raid
        insmod mdraid
        insmod part_msdos
        insmod part_msdos
        insmod ext2
        set root='(md0)'
        search --no-floppy --fs-uuid --set 5a3882a9-c7df-4f6a-9feb-f03e3e37be01
        echo    'Loading Linux 3.5.3.20120914-amd64 ...'
        linux   /vmlinuz-3.5.3.20120914-amd64 root=UUID=003242b5-121b-49f3-b32f-1b40aea56eed ro acpi=ht quiet panic=10
        echo    'Loading initial ramdisk ...'
        initrd  /initrd.img-3.5.3.20120914-amd64
}
menuentry 'Debian GNU/Linux, with Linux …
Run Code Online (Sandbox Code Playgroud)

debian kernel boot grub2

9
推荐指数
1
解决办法
3万
查看次数

Grub2 报告在不可引导的服务器上找不到物理卷 pv0

我首先使用 lvm安装了我的 ubuntu 服务器(11.10 amd64),但没有完全掌握它的概念。我认为这部分是导致我的两个磁盘上的分区混乱的原因(在我看来)。我从一开始就使用 grub2 安装了所有东西以启动我的 Ubuntu,后来我将其更新到 Ubuntu Server 12.04,没问题。

这是情况:

  • 截至今天,我根本无法启动,在 grub 选项之前似乎没有任何进化(编辑:Pavel A. 的精度);

  • 我可以使用带有选项Rescue a crashed system的服务器安装 liveCD 启动;

  • 我设置了网络访问,但似乎没有/run文件夹(不知道是否相关,但在某些论坛中似乎不正常);

  • 我构建的设备图如下:

    1. VGA 包含sda1[Linux 分区]、sda2sda3[ /] 和sda5(后者似乎与 相同sda3,描述符相同)
    2. VGb 包含sdc1, sdc2[ /boot] 和sdc3[ /home]

    (两者没有相同的 PE 或 LE,但我希望最终将所有内容都放在同一个 VG 中)

  • 我对引导环境做的最后一件事是(干净地)从引导分区中删除旧内核(236MB 大,99% 已满);

  • 我跑了grub-install(安装启动后)但遇到了各种错误:

    • 无法安装,/dev/sda因为core.img不适合(第一部分从 32 …

lvm grub2 ubuntu-12.04

8
推荐指数
1
解决办法
1906
查看次数

Linux 软件 RAID1:如何在(物理)删除 /dev/sda 后启动?(LVM、mdadm、Grub2)

使用 Debian 6.0/squeeze 设置的服务器。在squeeze安装期间,我将两个500GB SATA磁盘(/dev/sda和/dev/sdb)配置为RAID1(使用mdadm管理)。RAID 保留一个 500 GB LVM 卷组 (vg0)。在卷组中,有一个逻辑卷 (lv0)。vg0-lv0 用 extfs3 格式化并挂载为 root 分区(没有专用的 /boot 分区)。系统使用 GRUB2 引导。

在正常使用中,系统启动正常。

此外,当我在关机后尝试移除第二个 SATA 驱动器 (/dev/sdb) 时,系统没有问题,重新连接驱动器后,我能够 --re-add /dev/sdb1 到 RAID大批。

但是:移除第一个 SATA 驱动器 (/dev/sda) 后,系统将无法再启动!GRUB 欢迎消息显示一秒钟,然后系统重新启动。

我尝试在 /dev/sdb(“grub-install /dev/sdb”)上手动安装 GRUB2,但这没有帮助。

当第一块磁盘被移除时,显然squeeze无法设置GRUB2从第二个磁盘启动,这似乎是运行这种Software RAID1时非常重要的功能,不是吗?

目前,我不知道这是 GRUB2、LVM 还是 RAID 设置的问题。任何提示?

lvm mdadm raid1 grub2

7
推荐指数
1
解决办法
6866
查看次数

如何找出 GRUB 的安装位置?

我需要找到安装 GRUB 的位置,例如,哪个驱动器/分区。是否有可能弄清楚它安装在哪里?

hard-drive boot-loader grub2

7
推荐指数
1
解决办法
1万
查看次数

CentOS 7:没有“biosboot”分区的 GPT 和软件 RAID 1

我有一台带有软件 RAID1 (2x3TB) 的 CentOS 6 服务器:

- sda

# parted /dev/sda unit s print
Model: ATA TOSHIBA DT01ACA3 (scsi)
Disk /dev/sda: 5860533168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start     End          Size         File system  Name  Flags
 1      2048s     1026047s     1024000s     ext4               boot
 2      1026048s  5860532223s  5859506176s                     raid
Run Code Online (Sandbox Code Playgroud)

- sdb

# parted /dev/sdb unit s print
Model: ATA TOSHIBA DT01ACA3 (scsi)
Disk /dev/sdb: 5860533168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start     End          Size         File system  Name  Flags …
Run Code Online (Sandbox Code Playgroud)

raid partition mdadm grub2 gpt

7
推荐指数
1
解决办法
3813
查看次数

在 HDD 升级之后,GRUB 在菜单之前挂起。如何调试?

我在运行 Debian wheezy 和 GRUB 1.99-27+deb7u3 的 4 x 1 TB 驱动器的服务器上遇到问题。

sda 和 sdb 具有使用(Linux 软件)RAID1 镜像的分区,包括/boot. sdc 和 sdd 各有一个分区,为数据镜像一个 LVM 物理卷。GRUB 安装到 sda 和 sdb。我用mdadm--fail--remove1个TB SDC,并取代了旧的驱动器(一个ST91000640NS)用新的2 TB ST2000NX0243。

安装新驱动器后,GRUB 可以达到

GRUB loading.
Welcome to GRUB!
Run Code Online (Sandbox Code Playgroud)

但无法显示菜单。sdc 上的驱动器指示灯持续亮起,因此推测 GRUB 核心正在尝试读取该驱动器,即使它不需要访问 /boot/grub。我试过两个相同型号的驱动器,都用 测试得很好smartctl,结果相同。在 sdc 驱动器托架为空的情况下,一切正常启动。系统从实时 USB 启动并且可以访问新驱动器,因此这不是硬件不兼容 (*)。我确定是 sdc 被删除了,并且没有迹象表明 BIOS 对驱动器进行了重新排序。

(*)这可能不是一个安全的假设。见答案。

所以我有以下相关问题:

  1. 更改后的逻辑扇区大小(4096 而不是 512 字节)是否会导致问题,可能是在 GRUB 核心内置的 RAID 支持中?为什么我至少不会得到grub rescue>提示?4K 问题是否也会阻止将驱动器用于 Linux RAID? …

raid bios grub advanced-format grub2

7
推荐指数
1
解决办法
2066
查看次数