Articles of grub2

仅通过HTTPS进行kickstart

背景:在powerppc上启动RHEL7(IBM pSeries) 所以我已经开始无人看pipe多年了,过去不得不使用yaboot,NFS等进行kickstart。 试图现代化。 我有一个使用HTTP(Apache)(和TFTP)的工作kickstart。 我的问题是试图做到https 只 。 不知道这是否可能,但有人会认为这是因为你可以指定https。 如果我有以前工作的Web服务器回答HTTP和HTTPS(相同的htdocs),以及下面的grub.conf ,它工作正常(IP和FQDN明显被掩盖): menuentry 'Install RHEL 7 via Kickstart…' { set root=http,WEBIP linux https://WEBFQDN/software/rhel/ppc/ppc64/vmlinuz ro ip=dhcp ks=https://WEBFQDN/kickstart/rhel7-power.ks echo 'Loading initial ramdisk …' inst.repo=https://WEBFQDN/software/rhel/ initrd https://WEBFQDN/software/rhel/ppc/ppc64/initrd.img } 但是 tcpdump显示它仍然使用HTTP进行大量的stream量。 实际上,如果我将Web服务器重新configuration为RedirectMatch (.*) https://WEBFQDN/$1 (将所有httpredirect到https,请不要使用http), RedirectMatch (.*) https://WEBFQDN/$1出现以下错误: 错误:无效的独立于ELF的魔法。 如果我删除了RedirectMatch (并返回到允许http而不是redirect),它再次正常工作。 所以,我可以和http一起生活,但理想情况下,web服务器只是https(因为它包含了除kickstart以外的大量敏感数据)。 这可能吗? 我错过了一个关键标志? 我试过root=https,…但是后来我得到了一个“ 找不到文件 ”(我猜是不受支持的networking选项)。 感谢任何指针!

你如何非破坏性地检查grub2是安装在引导扇区还是被链接加载grub1,而不重新启动?

我们将几个系统从Debian Lenny升级到Squeeze,我想确保我没有错过任何grub2安装。 默认情况下,从grub1挤压chain-boot-loading,你必须运行upgrade-from-grub-legacy升级来升级。 所以我希望能够远程检查grub2是否已经安装在磁盘启动扇区而不需要重启,也不会覆盖启动扇区。 有没有什么比做硬盘的早期块的hexdump更容易,并试图确定grub2特定的字节?

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

用Debian 6.0 / squeeze设置的服务器。 在挤压安装过程中,我将两个500GB SATA磁盘(/ dev / sda和/ dev / sdb)configuration为RAID1(使用mdadmpipe理)。 RAID保留500 GB的LVM卷组(vg0)。 在卷组中,有一个逻辑卷(lv0)。 vg0-lv0使用extfs3格式化,并作为根分区挂载(没有专用/启动分区)。 系统使用GRUB2启动。 在正常使用情况下,系统启动正常。 另外,当我尝试并closures第二个SATA驱动器(/ dev / sdb)后,系统没有问题,重新连接驱动器后,我能够 – 将/ dev / sdb1添加到RAIDarrays。 但是:删除第一个SATA驱动器(/ dev / sda)之后,系统将不再启动! 一个GRUB欢迎消息显示一秒钟,然后系统重新启动。 我试图在/ dev / sdb(“grub-install / dev / sdb”)上手动安装GRUB2,但这并没有帮助。 当第一个磁盘被移除时,显然挤压不能设置GRUB2从第二个磁盘启动,这似乎是运行这种软件RAID1时相当重要的特性,不是吗? 目前,我失去了这是GRUB2,LVM还是RAID设置的问题。 任何提示?

升级硬盘后,GRUB挂在菜单之前。 如何debugging?

我在运行Debian wheezy的4 x 1 TB驱动器的服务器上遇到问题,GRUB 1.99-27 + deb7u3。 sda和sdb都有使用(Linux软件)RAID1镜像的分区,包括/boot 。 sdc和sdd每个都有一个分区,镜像一个LVM物理卷的数据。 GRUB安装到sda和sdb。 我使用了mdadm ,并且 – –fail了1 TB sdc,并用新的2 TB ST2000NX0243replace了旧的驱动器(ST91000640NS)。 随着新的驱动器,GRUB得到了 GRUB loading. Welcome to GRUB! 但未能显示菜单。 sdc上的驱动器指示灯持续点亮,所以大概GRUB内核正在尝试读取该驱动器,即使不需要访问/ boot / grub。 我已经尝试了两个相同型号的驱动器,两者都使用smartctl进行testing,结果相同。 随着sdc驱动器托架空,一切正常启动。 系统从实时USB引导,新驱动器可访问,所以它不是硬件不兼容(*)。 我确定这是sdc被删除,并没有迹象表明BIOS重新sorting的驱动器。 (*) 这可能不是一个安全的假设。 查看答案。 所以我有以下相关的问题: 更改的逻辑扇区大小(4096而不是512字节)是否会引起问题,可能是GRUB内核中的RAID支持? 为什么我至less得不到grub rescue>提示? 一个4K的问题也可以防止使用该驱动器的Linux RAID? 什么是解决这个问题最快捷的方法? [以前的build议包括:我是否需要重新安装GRUB,并在这种情况下如何? 一个GRUB救援USB(由同一个系统制造)有同样的问题? 这是GRUB中的一个已知错误,我应该升级吗? 这些答案似乎是:不,是和否。]我可以永久configurationDebian使用的GRUB映像前缀吗? 如何去debuggingGRUB的这个阶段? 它可能对内置的模块很敏感,但是如何find这个模块呢? 我正在考虑一个debug.cfg只是debug=all和类似的东西: grub-mkimage -c debug.cfg […]

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

我有奇怪的情况 – 由BIOS报告的磁盘顺序与Linux所看到的磁盘顺序不同。 这使得有问题的运行grub安装到sda,但BIOS从sdd启动或类似的东西(这台机器有7个磁盘,内部控制器4和外部3。 是否有可能使grub安装(以后更新)所有的磁盘,而不仅仅是/ dev / sda? 我不知道哪个磁盘是BIOS的启动(所有磁盘是相同的,因为我已经突袭了,我不能删除它们),所以唯一的解决scheme,我看到的是让grub安装在所有sda-sdg上。 这是Debian稳定的,Grub2。

如何强制Debian启动新的内核?

我正在远程系统上运行Debian 6,Debian GNU / Linux,Linux 2.6.32-5-amd64(在Grub2下)(1.98 + 20100804-14 + squeeze1)(无法查看预启动消息)。 我编译并安装了一个新的内核,但是我无法启动它。 我做了什么: 通过以下方式安装软件包: 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 这更新了Grubconfiguration。 我的/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 […]

Grub2报告没有在服务器上find的物理卷pv0不可启动

我首先使用lvm安装了我的ubuntu服务器( 11.10 amd64 ),但没有完全掌握它的概念。 我认为这部分是由于我的两个磁盘上的分区混乱(在我看来)。 我从一开始就使用grub2来安装所有的东西来启动我的Ubuntu,后来我更新到Ubuntu Server 12.04 ,没问题。 情况如下: 截至今天,我根本无法启动,在grub选项之前似乎没有进化(编辑:来自Pavel A的精确度)。 我可以启动使用服务器安装liveCD选项救援一个破碎的系统 ; 我设置networking访问,但似乎没有/run文件夹(不知道它是相关的,但在一些论坛似乎不正常); 我build的设备图如下: VGA包含sda1 [Linux分区], sda2 , sda3 [ / ]和sda5 (后者看起来与sda3相同,描述符相同) VGb包含sdc1 , sdc2 [ /boot ]和sdc3 [ /home ] (两人的PE或LE都不一样,但我最终想要把所有东西都放在同一个VG中) 最后,我对引导环境做了(干净地)从引导分区中删除较旧的内核(236MB大,99%已满)。 我运行grub-install (安装启动后),但得到了各种错误: 无法在/dev/sda上安装,因为core.img不适合(第一个分区从32开始) /dev/sdc上的grub-install输出显示error physical volume pv0 not found 我甚至试图grub-install直接grub-install到/dev/sda5 ,显然没有错误,但在启动时没有成功 我在这里查看[serverfault]: Grub2在探测/安装时报告没有find物理卷pv0 我看了这里[Ubuntu论坛]: 求助]用liveCD安装内核并修复grub2 我看了这里[Ubuntu的帮助]: 修复一个破碎的系统 我看了这里[Ubuntu的论坛]: [已解决] […]

Ubuntu服务器,gpt分区表,mdadm,grub引导失败

基本的工作系统细节: 我使用Ubuntu 12.04服务器CD来安装服务器。 我有4个磁盘。 在所有磁盘上,我做了以下,类似于这个howto : 创build了一个2GB的交换分区 创build了一个256 GB /启动分区 创build了一个64 GB的RAID10分区(用于root) 创造了一个大的RAID10分区占据了其余的空间 我格式化引导为ext3。 我在根和大分区上设置了RAID10。 我格式化了一个ext4的根。 我创build了一个大的逻辑卷,并格式化它ext4。 由此产生的系统工作正常,靴子罚款。 问题详情: 然后我决定logging一个失败的程序。 作为第一步,我决定重新安装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, […]

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. 在update-grub2我得到: Generating grub configuration file … /usr/sbin/grub-probe: warning: Couldn't find physical […]

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

我在半embedded式环境下在单板机器上安装了Ubuntu 10.10 Server; 没有键盘或屏幕,只需SSH访问它。 所以偶尔会启动并卡在GRUB菜单上,等待按键select第一个选项, 真的很让人沮丧。 在任何情况下,如何configurationGRUB以等待按键? 更新#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="" 更新#2:我知道了。 在不成功的靴子之后,GRUB禁用它自己的超时。 由于显示菜单导致启动失败,这是一个不可避免的循环。 可以通过编辑/etc/grub.d/00_header文件并更改make_timeout函数来禁用此行为: make_timeout () { echo "set timeout=0" } 现在退出并重新运行grubconfiguration更新器脚本: sudo update-grub2 对于我来说,这种行为对于Ubuntu Server来说是默认的,Ubuntu Server是一个面向控制台访问的机器的产品。