V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
tankb52
V2EX  ›  Linux

先修好 Arch 再来修 Windows

  •  
  •   tankb52 · Dec 5, 2016 · 5520 views
    This topic created in 3430 days ago, the information mentioned may be changed or developed.
    先是 Arch 滚挂一次,然后重装了,把 C 盘前面的那个系统保留分区挂载到 /boot 下面,装好 Archlinux 后发现 GRUB 识别不到原来的 Windows ,我看了下 /boot/目录,下面只有
    grub
    initramfs-linux-fallback.img
    initramfs-linux.img
    vmlinuz-linux
    这几个文件,我想可能是不小心把 /boot 给格式化了。

    不知道能不能救回来, Win7 好久没用了,重装一次 Windows 折腾太多,所以不知道能不能只修复 Grub 菜单?

    ______________________________
    刚刚手快按了一次回车,结果直接发布了,没想到还是可以编辑的,所以抱歉第一楼我自己抢了
    Supplement 1  ·  Dec 5, 2016
    补充一下 Linux 下装了 os-prober 也没有效果

    启动方式是 bios
    Supplement 2  ·  Dec 5, 2016

    贴我的硬盘图, sda1 是系统保留分区, sda2 、 sda3 是 Win7 的 C 盘(系统盘)和 D 盘; sda5 、 6 、 7 就是 Arch 的 /分区以及 Swap 和 Home 分区了。

    我刚刚直接编辑了 /boot/grub/grub.cfg 文件,加入了以下内容

    # This entry automatically added by the Debian installer for a non-linux OS
    # on /dev/sda1
    menuentry "Windows 7 (loader)" {
    insmod ntfs
    set root=(hd0,1)
    chainloader +1
    }
    ### END /etc/grub.d/30_otheros ###

    重启到 Grub 之后,选择这一项报以下错误:

    This is no bootable disk. Please insert a bootable floppy and press any key to try again.

    然后我按 E 编辑 Grub 的菜单项,将 set root=(hd0, 按 Tab 键补完,可选项是 msdos1\msdos2\msdos3 直至 msdos7 。
    选 msdos1 报错同上。
    选 msdos2 和 msdos3 ,报错是“ bootmgr is mission ”, msdos4-7 就不用试了。

    怎么办?是不是真的需要刻个 Windows 启动 U 盘或者 PE 什么的来弄了?

    @xss
    @Havee
    18 replies    2016-12-06 12:12:52 +08:00
    tankb52
        1
    tankb52  
    OP
       Dec 5, 2016   ❤️ 1
    先是 Arch 滚挂一次,然后重装了,把 C 盘前面的那个分区挂载到 /boot 下面,装好 Archlinux 后发现 GRUB 识别不到原来的 Windows ,我看了下 /boot/目录,下面只有
    grub
    initramfs-linux-fallback.img
    initramfs-linux.img
    vmlinuz-linux
    这几个文件,我想可能是不小心把 /boot 给格式化了。

    不知道能不能救回来, Win7 好久没用了,重装一次 Windows 折腾太多,所以不知道能不能只修复 Grub 菜单?
    xss
        2
    xss  
       Dec 5, 2016   ❤️ 2
    重新写一下 grub/grub.cfg 文件.

    加上你的 windows 下所谓 C 盘的分区 entity 就行了.

    具体网上一搜一吨...关键词 'grub 启动 windows'
    pkking
        3
    pkking  
       Dec 5, 2016
    os-prober 装了没?
    kokutou
        4
    kokutou  
       Dec 5, 2016
    要 fat32 分区 y 。。。
    pe 自带 bcdboot 命令

    bcdboot x:\windows /s y:\ /f uefi/bios/all

    /f 与 /s 命令一起使用,指定目标系统分区
    的固件类型。<firmware> 的选项是 'UEFI'、
    'BIOS' 或 'ALL'。

    /s 指定一个可选的卷号参数,该参数用于指定
    要将启动环境文件复制到的目标系统
    分区。默认值为固件所标识的
    系统分区。
    Busy
        5
    Busy  
       Dec 5, 2016   ❤️ 1
    mbr 被重写了呗。
    grub 参数需要 parttool (hd0,msdosN) boot+,譬如

    menuentry "Microsoft Windows 8.1" {
    insmod chain
    set root=(hd0,msdos3)
    parttool (hd0,msdos3) boot+
    chainloader +1
    }
    Busy
        6
    Busy  
       Dec 5, 2016
    建议双系统都 UEFI 吧
    启动没这些麻烦
    tankb52
        7
    tankb52  
    OP
       Dec 5, 2016
    @Havee
    不重装系统的情况下可以改成 UEFI 吗?

    还有上面那个方法只写 GRUB 就可以了吗?不用向 /boot 分区拷入什么引导文件之类的?
    Busy
        8
    Busy  
       Dec 5, 2016   ❤️ 1
    1. 不重装,据我所知,貌似不行
    2. 不需要拷入说明引导文件,可能,你需要 winpe 里的 bcdboot 去复制下启动文件至 c 盘根目录
    譬如
    bcdboot c:\windows /s c:
    linuap
        9
    linuap  
       Dec 5, 2016
    os-prober 不好使的时候,试试安装一下 lsb_release 这个包,再运行 os-prober,实测有用
    tankb52
        10
    tankb52  
    OP
       Dec 5, 2016
    @linuap
    我是能识别 Linux ,识别不了 Windows ,这个也有用吗?
    hihihihihi
        11
    hihihihihi  
       Dec 5, 2016
    refind
    zhuangzhuang1988
        12
    zhuangzhuang1988  
       Dec 5, 2016
    瞎折腾 浪费时间。。
    jon
        13
    jon  
       Dec 5, 2016
    不是吹 arch 不会挂的?
    honmaple
        14
    honmaple  
       Dec 5, 2016
    arch 只挂过一次,只因为手贱降级了某个系统库,不过 live cd + chroot 修好了,后面就没挂过
    Sasasu
        15
    Sasasu  
       Dec 5, 2016 via Android
    你的 arch 应该能启动,/boot 里没有问题。
    windows 需要一个文件才能启动,从安装镜像里找 bootx64.efi 这个文件,把它按原样放到 esp 里,重新运行 grub-mkconfig 。
    另外你为何需要 windows :)
    fzinfz
        16
    fzinfz  
       Dec 5, 2016
    tankb52
        17
    tankb52  
    OP
       Dec 6, 2016
    @fzinfz
    那要做个 ubuntu 的启动盘了? Arch 下面好像没有这个 Boot-repair
    fzinfz
        18
    fzinfz  
       Dec 6, 2016 via iPad
    @tankb52 直接有 cd ,做启动盘或者 mount iso 找下有没可用的工具
    https://sourceforge.net/projects/boot-repair-cd/files/
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1136 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 23:06 · PVG 07:06 · LAX 16:06 · JFK 19:06
    ♥ Do have faith in what you're doing.