先修好 Arch 再来修 Windows

2016-12-05 15:47:38 +08:00
 tankb52
先是 Arch 滚挂一次,然后重装了,把 C 盘前面的那个系统保留分区挂载到 /boot 下面,装好 Archlinux 后发现 GRUB 识别不到原来的 Windows ,我看了下 /boot/目录,下面只有
grub
initramfs-linux-fallback.img
initramfs-linux.img
vmlinuz-linux
这几个文件,我想可能是不小心把 /boot 给格式化了。

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

______________________________
刚刚手快按了一次回车,结果直接发布了,没想到还是可以编辑的,所以抱歉第一楼我自己抢了
4727 次点击
所在节点    Linux
18 条回复
tankb52
2016-12-05 15:52:09 +08:00
先是 Arch 滚挂一次,然后重装了,把 C 盘前面的那个分区挂载到 /boot 下面,装好 Archlinux 后发现 GRUB 识别不到原来的 Windows ,我看了下 /boot/目录,下面只有
grub
initramfs-linux-fallback.img
initramfs-linux.img
vmlinuz-linux
这几个文件,我想可能是不小心把 /boot 给格式化了。

不知道能不能救回来, Win7 好久没用了,重装一次 Windows 折腾太多,所以不知道能不能只修复 Grub 菜单?
xss
2016-12-05 16:14:33 +08:00
重新写一下 grub/grub.cfg 文件.

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

具体网上一搜一吨...关键词 'grub 启动 windows'
pkking
2016-12-05 16:18:53 +08:00
os-prober 装了没?
kokutou
2016-12-05 16:19:29 +08:00
要 fat32 分区 y 。。。
pe 自带 bcdboot 命令

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

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

/s 指定一个可选的卷号参数,该参数用于指定
要将启动环境文件复制到的目标系统
分区。默认值为固件所标识的
系统分区。
Havee
2016-12-05 16:32:34 +08:00
mbr 被重写了呗。
grub 参数需要 parttool (hd0,msdosN) boot+,譬如

menuentry "Microsoft Windows 8.1" {
insmod chain
set root=(hd0,msdos3)
parttool (hd0,msdos3) boot+
chainloader +1
}
Havee
2016-12-05 16:33:24 +08:00
建议双系统都 UEFI 吧
启动没这些麻烦
tankb52
2016-12-05 16:55:39 +08:00
@Havee
不重装系统的情况下可以改成 UEFI 吗?

还有上面那个方法只写 GRUB 就可以了吗?不用向 /boot 分区拷入什么引导文件之类的?
Havee
2016-12-05 17:26:23 +08:00
1. 不重装,据我所知,貌似不行
2. 不需要拷入说明引导文件,可能,你需要 winpe 里的 bcdboot 去复制下启动文件至 c 盘根目录
譬如
bcdboot c:\windows /s c:
linuap
2016-12-05 18:10:23 +08:00
os-prober 不好使的时候,试试安装一下 lsb_release 这个包,再运行 os-prober,实测有用
tankb52
2016-12-05 18:51:06 +08:00
@linuap
我是能识别 Linux ,识别不了 Windows ,这个也有用吗?
4ever911
2016-12-05 19:34:39 +08:00
refind
zhuangzhuang1988
2016-12-05 21:26:59 +08:00
瞎折腾 浪费时间。。
jon
2016-12-05 21:42:25 +08:00
不是吹 arch 不会挂的?
honmaple
2016-12-05 22:56:43 +08:00
arch 只挂过一次,只因为手贱降级了某个系统库,不过 live cd + chroot 修好了,后面就没挂过
Sasasu
2016-12-05 23:39:13 +08:00
你的 arch 应该能启动,/boot 里没有问题。
windows 需要一个文件才能启动,从安装镜像里找 bootx64.efi 这个文件,把它按原样放到 esp 里,重新运行 grub-mkconfig 。
另外你为何需要 windows :)
fzinfz
2016-12-05 23:45:36 +08:00
tankb52
2016-12-06 11:00:25 +08:00
@fzinfz
那要做个 ubuntu 的启动盘了? Arch 下面好像没有这个 Boot-repair
fzinfz
2016-12-06 12:12:52 +08:00
@tankb52 直接有 cd ,做启动盘或者 mount iso 找下有没可用的工具
https://sourceforge.net/projects/boot-repair-cd/files/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/325417

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX