Questions tagged «grub2»

GRUB2是GRand Unified Bootloader的第二个版本,版本号为1.9x和2.yz。

3
如何在软RAID 1上正确安装GRUB?
在我的设置中,我有两个磁盘,每个磁盘都采用以下方式进行格式化: (GPT) 1) 1MB BIOS_BOOT 2) 300MB LINUX_RAID 3) * LINUX_RAID 引导分区映射在/ dev / md0中,rootfs映射在/ dev / md1中。md0用ext2格式化,md1用XFS格式化。(我知道必须在md设备上而不是在sd上进行格式化-如果这是错误的,请告诉我)。 如何正确设置GRUB,以便如果一个驱动器发生故障,另一个驱动器仍会启动?通过扩展,替换驱动器也会自动包含GRUB吗?当然,如果可能的话。

4
安装CentOS 7后,缺少Windows启动选项。我如何找回它?
我最近在运行Windows 7的计算机上安装了CentOS7。我进行了双引导安装,并将CentOS安装在了分区中。但是,当我启动机器时,它仅给我两个CentOS选项。它没有给我选择启动Windows 7的选项。如何将Windows 7重新添加到启动选项? 注意:我正在阅读标题为“ 带有Windows的CenTOS 7双启动”的帖子,但是我的/grub文件夹中似乎只有一个splash.xpm.gz文件,没有其他文件。另外,我是Linux的新手,需要逐步进行一些操作。 编辑#1 我在命令行上得到以下结果: [root@localhost home]# sudo update-grub sudo: update-grub: command not found [root@localhost home]# sudo grub-mkconfig sudo: grub-mkconfig: command not found 另外,我目前正在研究这些命令可能不适用于CentOS的可能性。例如,在标题为“ RHEL / Fedora / CentOS系统的update-grub是否等效? ”的U&L问答以及标题为“ 在Windows之后安装Centos 7并且无法启动到CentOS的 ”的问答中,这似乎暗示我应该重新安装grub2。但是我该怎么做呢?我现在正在学习Linux。 编辑#2 以下命令确实起作用。这是输出: [root@localhost home]# sudo grub2-mkconfig 2>/dev/null # # DO NOT EDIT THIS …

6
使用双启动计算机时,如何防止Windows覆盖GRUB
我已经阅读了很多有关双重引导的内容,这似乎很容易,例如加载Windows,然后用GRUB加载Linux,但是每个人都说Windows愿意在有机会时放弃GRUB。我可以采取什么措施来防止这种情况发生(除了使用Windows的引导加载程序之外,我想让这一过程尽可能简单)?

5
Arch GRUB在非LVM磁盘上要求/run/lvm/lvmetad.socket
我正在基于ArchWiki设置过程运行此脚本。在GRUB配置步骤中失败 我在具有1 GB内存的VMware Player中使用archlinux-2013.12.01-dual.iso,内存sda为810 MB。我还在主机上安装了CIFS共享。 # DEV=sda # PART=sda1 # echo "1,,L,*" | sfdisk /dev/$DEV # mkfs.ext3 /dev/$PART # mount /dev/$PART /mnt # pacstrap -i /mnt base # genfstab -U -p /mnt >> /mnt/etc/fstab # arch-chroot /mnt # pacman -S grub # pacman -S os-prober # grub-mkconfig -o /boot/grub/grub.cfg 我得到: …

3
FreeNAS grub2引导ISO
我已经将usb-keys设置为多引导不同的Linux映像。我不介意添加FreeNAS,并且有一个文档,其中包含示例grub.cfg menuentry "FreeNAS-8.0.4-RELEASE-x64" { insmod ufs2 insmod iso9660 # /usr/local/sbin/grub-probe -d /dev/sde1 -t fs_uuid # c89c-7b3a #search --no-floppy --fs-uuid --set c89c-7b3a set isofile="/boot/FreeNAS-8.0.4-RELEASE-x64.iso" loopback loop $isofile kfreebsd (loop)/boot/kernel/kernel.gz kfreebsd_loadenv (loop)/boot/device.hints #set FreeBSD.vfs.root.mountfrom=ufs:/dev/ad4s1a set kFreeBSD.vfs.root.mountfrom=ufs:/dev/acd0 set kFreeBSD.vfs.root.mountfrom.options=rw #set vfs.root.mountfrom=cd9660:/dev/ad1s1 #set vfs.root.mountfrom.options=rw } 我不确定是否要设置vfs根目录,这是尝试引导它的结果; 一些有用的信息可以在以下位置找到: 从grub2 USB盘引导FreeBSD iso

8
Grub错误:找不到文件'/grub/i386-pc/normal.mod'?
我最近在机器上安装了arch(希望成功)。但是当我重新启动时,我遇到了问题。我看到黑屏,上面写着文字 Grub loading. Welcome to GRUB! error: file '/grub/i386-pc/normal.mod' not found. Entering rescue mode... grub rescue> 此后,我用Google搜索了答案。我几乎找到了一个在这里对Ubuntu论坛尚未然后我看到的评论说这是不真实的一个。还有另一个答案,但是我不确定是否要从实时CD安装,以免造成混乱。 如果您在不断遇到分区,命令,教程和系统问题之后也花了7个小时来设置它,您会理解我的担心。太高兴了 任何人都知道让grub正常工作的简单解决方案吗?
17 grub2 

2
如何检查grub2实际在哪个驱动器上安装了MBR?
我正在使用Debian / Squeeze系统(其历史至少可以追溯到Woody),该系统已作为Squeeze升级的一部分升级到grub2。一切正常,但是我要弄乱磁盘配置。 当前,该机器使用2个80GB驱动器,它们带有RAID1的/,/ home和/ boot分区(还有另外一对具有RAID1的“ / data”和两个交换的驱动器,以防万一有人想知道交换在哪里) ,但我没有碰那些)。 我添加了2个130GB的SSD,将其分区为至少与80GB驱动器上的分区一样大,并打算通过扩展RAID1使其包含新的SSD1,等待同步,然后删除旧的磁盘,来切换到新的SSD驱动器。从阵列驱动器,因此仅保留SSD(然后扩展文件系统)。但是mdadm / ext3争吵不是这个问题。 那将给我留下2个过时的80GB(IDE)驱动器,我想从计算机中删除它们。我担心的是,删除它们将需要一些关键的MBR。如何确保计算机可引导? 进一步来说: 当我进行Squeeze升级时,我记得有一些关于grub2应该安装到哪个驱动器的选择(我选择了默认驱动器,即所有驱动器)。但是,SSD当时不在计算机中。我如何重新运行此程序以将grub安装在SSD MBR上?(我猜这是某些软件包的dpkg-reconfigure)。 如何找到grub2认为安装在哪个驱动器上?可悲的是,这些天/ boot / grub /下几乎有200个文件!在哪里看?另外,/ boot / grub / device.map.auto当前仅列出3个驱动器(80GB中的2个,但其他驱动器对中只有一个,而没有SSD)似乎有点奇怪。我如何获得最新消息?(更新:那是一条红色的鲱鱼; device.map.auto似乎是几年前的遗物;在grub-mkdevicemap的更新中,device.map看起来很明智。我认为这方面的偏执源自于旧的主板的BIOS,重新排序GRUB看到的设备订单)。 结果:一切顺利,现在我可以使用两个旧的80GB IDE驱动器,以及一个运行快速且快速启动的系统,该系统运行在RAID1固态硬盘上,所有文件系统的大小均已调整为新分区大小。我正在寻找的另一个“缺少Grub难题的部分”是dpkg-reconfigure grub-pc哪个提示哪个磁盘保持MBR。Aaron的回答实际上是最能使我确信这正在按预期工作的方法,因此接受了该回答。
17 debian  boot  grub2  bootable 

3
我应该如何配置grub从USB硬盘启动Linux内核?
我的笔记本电脑硬盘驱动器在一个外接盒中,用作大型笔式驱动器。另外,我已经在上面安装了Linux,因此可以选择自己的发行版来引导任何计算机(例如,用于数据恢复或修复已保存的系统,或者仅使用借用的笔记本电脑而不会破坏预装的Windows)。问题是,根据硬件配置,USB硬盘驱动器可能在不同路径下可见。对于grub配置,我只使用(hda0,0)它,因为它与启动grub的设备有关。我在中有UUID条目/etc/fstab。我还在rootwait内核参数中指定了它,以便它在尝试挂载设备之前等待USB子系统稳定下来。 我应该以什么形式传递给内核root=?当前从笔式/dev/sdX驱动器引导一次,检查调试消息以查看内核已将哪些设备分配给USB驱动器,然后重新引导并编辑grub配置。除了启用Boot from USB hard driveBIOS并将其设置为比内部硬盘驱动器更高的优先级之外,我无法在PC上进行任何更改。 有各种各样的initrd生成脚本,其中包括对根设备路径中的UUID的支持,不幸的是,Gentoo本机脚本(genkernel)不支持rootwait,我没有运气尝试使用其他脚本。 引导过程如下(在Windows中非常相似): BIOS选择引导设备并加载其MBR(碰巧是grub stage-1)。 Grub从它设置为的设备中加载配置文件和Stage-2文件root,(hd0)用于从BIOS加载该设备的设备。 Grub加载并启动了内核(仍然是相同的编号,因此我可以(hd0,0)再次使用)。 内核初始化所有内置设备(rootwait现在这样做很神奇)。 内核安装传递它的分区root(这是内核参数,而不是grub参数)。 init.d开始userland引导过程,包括从安装/etc/fstab。 第五部分是给我麻烦的那一部分。
17 linux  kernel  boot  usb  grub2 

1
Arch Linux grub安装错误“ airootfs”
我正在关注官方安装教程。一切顺利,直到启动加载程序部分为止。 我遇到了错误 /usr/bin/grub-probe: error: failed to get canonical path of 'airootfs'. 执行命令时与此问题相同: grub-mkconfig -o /boot/grub/grub.cfg 我在VirtualBox上安装了arch,并逐步遵循了官方的Wiki教程GRUB部分。 我可以成功启动到grub,但是我只能看到grub外壳。可以推断,自从生成grub配置文件的步骤以来,它就脱轨了。希望我的信息对您有所帮助。 顺便说一句,实际上,我在上一步中也遇到了此错误-安装grub grub-install --target=i386-pc /dev/sda 我添加了根目录参数,它继续运行而没有出现错误。 grub-install --root-directory=/mnt /dev/sda 我这样做是因为我在/ mnt上安装了我的主要Linux分区/ dev / sda3,但在grub-mkconfig中没有供我使用的任何根目录或引导目录参数。 这是fdisk实用程序显示的分区表: 多谢。问候。


1
在哪里可以了解有关如何使用GRUB`ntldr`命令(模块)的更多信息?
我最近偶然发现了GRUB ntldr模块。 显然,它可以用来做的事情之一是chainloader引导NT> = 6.0版本的Windows,如下面的示例所示。(如果Windows分区的卷启动记录被损坏,非常方便。) menuentry "Windows 7 (bootmgr on /dev/sda1)" --class windows --class os { insmod part_msdos insmod ntfs insmod ntldr set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13 ntldr ($root)/bootmgr } 在哪里可以了解有关如何使用该引导指令的更多信息?我没有看到它上市的时候我在看HTML版本中的GNU GRUB手册。 回复ckhan的答案 非常感谢你!我已经决定要尝试深入研究源代码以了解有关GRUB ntldr命令/模块的更多信息。但是您做的工作比我做的要好得多。 我从来没有想过要查看电子邮件归档文件,以查看编写代码的人可能进行过哪些设计讨论。听起来这种方法将来可能会很有帮助。感谢您提及。 我对GRUB ntldr支持的想法 虽然我不确定该区别意味着什么,但ntldr它是模块而不是命令。或者,如果您愿意,也可以动态加载命令。 跟随您的源代码链接,并查看第152(GRUB_MOD_INIT)和159(GRUB_MOD_FINI)行,您可以看到要加载和...的代码。 GRUB显然实现了许多功能,您可能会认为它们是“ 命令 ”作为模块。我知道用法的唯一区别是,在使用模块之前,必须确保已使用命令加载了该模块insmod ntldr。 另外:我一直想知道GRUB为什么不支持reboot。原来该命令存在,但是它是一个模块。如果reboot返回unknown command,则insmod reboot允许GRUB“记住” reboot命令。 …
16 windows  grub2 

2
GRUB2和内核vga =参数
根据文档,vga=从GRUB2开始不赞成使用内核参数。某些新适配器似乎不再支持该内核,这一事实无关紧要,因为我拥有的显卡已经使用了七到八年。 现在的问题是,我想使用更高分辨率的文本模式,例如80x50,而不是默认的80x25字符。显然,所有的图形(VBE / VESA)模式,是这款显卡(ATI RAGE XL)的问题了-可用模式只显示列表中0通过6。6是80x60,但看起来可怕,所以我想一起去1(80x50的)。 每当不支持默认模式(默认注释已注释掉GRUB_TERMINAL=console)并提示我进行选择时,我都会在获得可用模式列表后看到80x50和80x60工作。 如果不应该在内核命令行上设置模式,并且每次使用GRUB_GFXMODE(带有或不带有预加载vbe模块)都GRUB_GFXPAYLOAD_LINUX=keep失败,那么如何设置模式?失败如:屏幕保持空白,因为这是我在本机中拥有的卡的无效图形模式? 我的想法是nomodeset仍然传递给内核,但是引导加载程序仍然必须设置图形模式。而且除了vga=内核参数之外,我看不到其他任何选项。 注意: GRUB2控制台上的vbetest和videotest命令将使屏幕空白,然后声称没有视频输入,然后屏幕切换到睡眠模式。vbeinfo并videoinfo显示了上述以外的一些可用模式,但没有提及应在何处设置。另外,在内核命令行中传递vga=1(不传递nomodeset)时,我看到一个很简短的警告,说明它已过时,但是它太长了,无法完全读取-输出不会出现在中dmesg。

5
在内核中启用IOMMU以实现图形卡传递
简短问题: 如何intel_iommu在Linux内核中打开设置?我使用grub2引导程序运行Debian主机。我见过的文档说编辑/boot/grub/menu.lst,似乎只与grub 1.x相关,因为我没有该文件。 据我了解(也是我能想到的最后一个选项),更改此启动选项可能会消除以下错误消息: /var/log/kern.log vboxpci: No IOMMU domain (attach) 长问题: 使访客操作系统直接访问图形卡 我最近意识到,可以将PCI Express设备传递给Virtualbox中运行的来宾OS。酷,我想!我有两块NVIDIA Quadro FX图形卡(具有SLI桥接器连接,希望不会引起麻烦),并且希望将第二张图形卡专用于来宾OS,以便可以在其中使用OpenGL功能。 Photoshop等。 NVIDIA销售这种“ SLI Multi-OS ”配置,这基本上是我多年来一直想要设置的配置,但是我不想花太多时间在虚拟化软件(Parallels极限工作站)上。使用VirtualBox已有很多年了。 主机系统 我正在相当高端的工作站设备(具有Intel ICH10R芯片组和Xeon W3680 CPU的Asus P6T7 WS超级计算机主板)上从Debian存储库中运行linux-3.5.0-19,并希望在内核中打开IOMMU支持。 ,最好不必自己编译。 的BIOS 在BIOS设置中,启用了VT-x和VT-d支持。不过,我看不到任何特别提及IOMMU的内容。 连接PCI设备 这真是令人惊讶的简单!官方的VirtualBox文档在这里。我发现不那么模棱两可的是,打开了nvidia-settings,选择了辅助图形卡并记下了总线ID(在我的情况下为“ PCI:5:0:0”)。然后,从主机的命令行: VBoxManage modifyvm "Windows Guest" --pciattach 05:00.0 (当我第一次运行此程序时,出现了一个错误,因为VirtualBox在模拟PIIX芯片组;它说PCI直通仅适用于ICH9芯片组。因此,我在VirtualBox VM System设置中将芯片组更改为ICH9,并打开了guest虚拟机。以安装必要的新驱动程序。稍后重新启动,一切正常,因此我关闭了来宾,然后重新运行命令。) 没有输出,我几乎立即返回到命令行。 从来宾使用主机GPU 在打开guest虚拟机之前,我首先通过virtualbox-dkms重新启动了主机,以防内核中发生未记录的事件。当我在没有sudo特权的情况下运行上一个命令时,我怀疑是否进行了任何更改。 当我下一次启动客户机时,Windows Update开始执行它的工作,并自动检测并安装了正确的NVIDIA驱动程序。到目前为止一切都很好。不过,在使用设备之前,我必须重新启动访客。 问题 现在,图形卡驱动程序已安装在客户机上,并且已连接PCI设备,现在我无法进入Windows桌面了。我进入Windows登录屏幕,然后登录后,屏幕冻结,只说“ …

3
arch linux-错误:无法获取“ airootfs”的规范路径(已安装到USB安装)
我正在尝试首次安装arch-linux。一切正常,直到我尝试将“ grub”启动加载程序安装到USB驱动器上。 我正在使用WIKI ARCH LINUX指南。 这两个命令都没有错误: # mkdir -p /mnt/usb ; mount /dev/sdc1 /mnt/usb # grub-install --target=i386-pc --recheck --debug --boot-directory=/mnt/usb/boot /dev/sdc 但是下一条命令返回错误: 无法获得“ airootfs”的规范路径: # grub-mkconfig -o /mnt/usb/boot/grub/grub.cfg 谁能帮忙? (试图arch-chroot /mnt /bin/bash 在此命令上找不到)。

5
grub-probe:错误:无法获得/ cow的规范路径
我正在尝试从USB驱动器重新安装grub。我运行以下命令: sudo mount /dev/sda6 /mnt sudo grub-install --root-directory=/mnt /dev/sda 我收到以下错误: grub-probe: error: failed to get canonical path of /cow. 有人可以解释该错误,以及如何解决? 编辑 我正在尝试修复一个损坏的双引导系统,该系统从包含Linux Mint的USB运行。
15 grub2 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.