出自Linux Wiki

提示:此文已超过 12 年(4458 天)未更新,如发现内容过时或有误,欢迎改进:)

XFS文件系统是一种高效的日志文件系统。但如果尝试将grub直接安装到XFS分区上,则会发生错误,即不能通过别的grub中的chainloader +1命令启动XFS分区上的grub,出现错误:

grub> chainloader +1

Error 13: Invalid or unsupported executable format

原因简析

通常来说,grub既可以被安装到硬盘的MBR上,也可以安装到分区的第一个扇区,作为该分区的启动程序。安装到MBR总是可行的,但要安装到分区的开头,则要求分区的这一扇区必须未被使用。不幸的是,XFS文件系统恰好把分区的第一个扇区做为超级块,也就是有关文件系统的信息被存储到这一扇区,grub无法覆盖这一内容,这也就导致grub不能被简单地安装到此种分区上。

提示:

类似地,NTFS文件系统也把第一个扇区(Sector 0)作为存放文件系统信息的扇区,如果使用grub-install或grub的setup命令把grub安装到NTFS分区上,就会导致NTFS分区不能被访问,如果你遇到这一问题,可以参考修复被grub覆盖的ntfs分区引导扇区。

解决方案

方法一:新增/boot分区

最好想的方法是专门准备一个ext2分区存放/boot,但这需要调整分区表。

方法二:使用configfile

grub有个configfile命令,可以读取某个grub配置文件。由于本文所述问题一般发生于一个grub启动另一个grub时,所以可以使用configfile命令代替chainloader命令:

grub> root (hd0,7)

grub> configfile /boot/grub/menu.lst

方法三:导出启动信息到文件

在不调整分区的情况下让分区中的grub可用也是可能的

grub> root (hd0, XFS的分区编号)

grub> setup (hd0, 一个不用做启动的ext分区编号)

再用dd把ext分区的引导扇区复制出来。假设那个ext分区是/dev/hda15

# dd if=/dev/hda15 of=/boot/grub/stage1.copy bs=512 count=1

这样启动时在上一层grub中,这样使用chainloader启动文件就可以了:

grub> chainloader /boot/grub/stage1.copy

提示:

如果不是openSUSE,使用grub-install应该也能达到目的。

参考资料

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。

linux xfs grub,XFS分区上装grub相关推荐

  1. 改变linux分区后grub修复,更改磁盘分区后修复GRUB启动

    上次为了通过硬盘引导安装Linux,专门分了一个1GB的FAT32分区.今天回到Win7中,用磁盘管理工具把这个分区撤销且合并后,重启后就进入了grub rescue终端,并且提示: error:un ...

  2. 解决Linux安装过程中不能安装Grub的问题

    参考,部分转载和万分感谢:解决Linux安装过程中不能安装Grub的问题 关卡1: 从前段时间折腾了很久,刚开始是因为/boot区已经占满了,那么为什么会占满呢?因为当时尝试初次手动分区,然后参考了网 ...

  3. linux 从grub 进入rescue,在grub的rescue模式修复linux引导

    今天在windows 10系统收到系统更新通知,没看清楚就手贱点了马上更新.以为只是像那些普通更新一样重启一下更新就完了,万万没想到这个是覆盖更新,也就是说这是一个全新的系统更新而不是系统补丁.在安装 ...

  4. 红旗Linux启动修复,红旗linux系统,重启后就进入grub,不能开启Linux,请教高手!!!!!!...

    首先还是不确定你出错之前对系统做了什么操作,无法对症下药,可加q 954334555讨论! 另外为你找了一篇比较实用的博文,希望能解决你的问题!!! Grub2不同问题的几种修复方法 1. Grub ...

  5. Linux 文件管理-文件系统-XFS文件存储系统详解

    本文转载自:https://blog.csdn.net/scaleqiao/article/details/52098546 感谢博主的辛勤付出 0 文件系统 引用维基百科对文件系统的定义:" ...

  6. linux grub安装在pbr,GRUB安装及命令行排错

    GRUB安装及命令行排错 GRUB安装 安装 Grub 涉及三个步骤: 创建 /boot/grub/grub.conf 配置文件. 在 /boot/grub 安装 Grub 文件. 安装 Grub 开 ...

  7. linux不重启挂载磁盘安装grub

    linux不重启挂载磁盘安装grub 挂载.分区.grub 通过给一块新磁盘安装grub回顾磁盘挂载.分区文件系统创建等操作: 该实验基于(CtonOS6.8:kernel:2.6.32-642.15 ...

  8. grub命令 u盘安装linux,u盘安装ubuntu出现grub问题怎么办?

    u盘安装ubuntu出现grub问题的解决办法:首先插上U盘启动电脑,打开终端找到安装的分区:然后查看文件找到grub2的分区,并进行从rescue到normal的转变动作:最后重启系统并输入[sud ...

  9. linux系统将grub安装至硬盘,grub安装

    linux安装grub. 安装redhat linux时会提示安装引导程序,如果选择grub为引导程序,建议把grub安装到硬盘的引导扇区MBR.grub 一. grub的配置 一旦选择了grub为引 ...

最新文章

  1. HTC VIVE SDK 中的例子 hellovr_opengl 程序流程分析
  2. [USACO 2.2.2]循环数 (循环链表 枚举)
  3. 【NOIP2010】【P1317】乌龟棋
  4. android 溢出按钮,React-Native封裝Tabbar 實現中間按鈕溢出效果(Android/iOS)
  5. cacti安装后修改说明
  6. Windows8 商店支付功能
  7. DevComponents.AdvTree 相关笔记
  8. 巧妙的使用RDP报表工具(免费报表工具、报表设计器)Excl绘制报表
  9. 海康球机3D定位功能编码实现VC(对前一篇补充改进)
  10. 商业智能在医疗卫生领域的应用
  11. 新手操作孕妇防辐射服暴利项目,也能日入500+
  12. channel使用法则
  13. 登陆服务器出现身份验证错误,登录服务器,提示“发生身份验证错误。要求的函数不受支持”的解决办法...
  14. 简易命令行界面的C/S聊天室
  15. (vcom-1141) Identifier “<protected>“ does not identify a component declaration.
  16. UPlayer播放器问题相关
  17. Tcl -- eval
  18. JavaScript中6种继承方式总结
  19. 第一章 openEuler 安装指南
  20. 泛型模版类出现了LNK2019: 无法解析的外部符号错误

热门文章

  1. php 多个图片合并为一张
  2. 51nod 1548 欧姆诺姆和糖果 (制约关系优化枚举)
  3. Python | list交集、并集、差(补集)、对称差集
  4. HR说事:谈谈面试礼仪 (转自网易官方校园招聘网站)
  5. 在线商城介绍-支付宝沙箱支付-JAVA【数据库设计、源码、开题报告】
  6. android 主界面 round,一秒将安卓变WebOS!RoundR圆角界面体验
  7. win764位和32位有什么区别_操作系统32位和64位有哪些区别呢?
  8. 实况足球2020服务器维护时间,实况足球2020周年庆什么时候-周年庆时间介绍
  9. 流动资产(财务报表解读)
  10. 虚拟主机云服务器近期价格,虚拟主机云服务器价格