admin 管理员组

文章数量: 887019

这两天整理了一个盘的资料,腾出30G左右的空间,给自己装了个linux,整了个双系统。原因不必多说,学习lilnux驱动从习惯开始,然后最大程度上熟练VIM的使用(正在各种度娘)。然后在安装阶段遇到了如题所述的需求。

起因:由于是硬盘安装,用easybcd整了个启动项,安装完了后,再删除的时候好奇心上来(linux系统有个grub2,启动的时候有启动项选择,那windows下那个删了会怎样?如果可以不就少了一次启动选择),把windows的启动项删了。然后进不了windows了,grub2下windows的启动项无效了。


尝试解决:度娘(google英文的答案多,个人吃不消,所有都在度娘无解时才google),很自然的就是进入 /boot/grub/grub.cfg修改了windows的启动项(按照网上的答案做的,最后也没updata-grub),结果自然是不行的了。没有办法,这个grub什么的实在是太陌生了,然后就把这个方案给pass了。按照windows下的经验,因为启动项进步了系统,自然要修复启动下。

1、使用安装盘—本来就是硬盘安装的,没有系统盘。

2、自己刻一个(绝对是个好想法),没有空的光盘?没事有一个学习教程的光盘,直接烧上去。

问题:linux下用什么玩意可以给光盘开刀?答:系统自带的就有。

可问题是光驱有问题,插上光盘竟然识别了,但就是不能正常挂载上(希望是驱动的问题)。

3、没有系统盘,那就整个U盘,弄个U盘的系统维护工具(本来是有的,结果早前遗失在了火车的卧铺上了)。------没有。

4、没有U盘,不是有移动硬盘么?!问linux什么玩意可以像windows下的什么老毛桃,ultraiso这样的工具?

答:Unetbootin,瞬间信心爆棚。拷出镜像,装上工具,烧写,它必须是flash的存储设备,坑死了(当时还是心急了,识别不到应该是硬盘挂载在系统上的原因)。

5、dd命令,是的,万能的dd 啊,果断尝试下。

dd if=win7.iso of=/dev/sdb1  .....................等待总是漫长和煎熬。完成烧写了,试试吧,仍然不行,在boot界面不停的倒计时跳转,显然没找到引导文件,这个实在不应该啊,正常烧进去了,他就会引导的啊。但无论如何尝试还是失败了(现在回想,是缺少了重要的写MBR的一步,所以)。暂时没办法了,快绝望了,又不甘心去电脑店,决定出去买个U盘,回来再试试,至少还能留着用,顺带出去吃个饭。

7、还是用Unetbootin,这么个好东西不利用太浪费了。把U盘格了,格成NTFS的,支持4G以上大文件。还是找不到,这个实在难以理解了,难道和文件系统有关?

算了,换回FAT32吧。郁闷还是不行,还是找不到。神马原因啊。算了卸载下,重新挂载试试吧..............是的,我发现工具检测到了,我卸载后就有了,想想,应该是设备挂载后,工具拿不U盘的控制权了。不管怎么样,总算是可以了。烧写完,再次尝试(烧写过程中看到了有关boot神马的,很兴奋)。有句老话是,爬得越高,摔得越惨。最后也没尝试验证这个unetbootin到底能不能做win7的启动盘,但从软件另一个选项看全都是linux的系统,估计可能性不大(当然可能没有设置Upan 的boot属性有关)。

8、最后一次尝试google了,看看国外的熊孩子们有木有解决方法。

ms-sys-free

是的,一个支持win7的linux下制作引导的一个开源工具,写MBR的。在安装这个工具前,得先安装它的一个依赖库“gettext”,否则编译出错提示缺少sv.mo.

下面介绍下过程:

1、安装“gettext”,编译ms-sys;

2、使用cfdisk或者fdisk创建NTFS分区,并标识flag属性为boot(结合上面第5次的尝试应该能知道这个时候是不应该挂载上设备的,如果挂载上也必须用umount卸载,这里提一下我在前面步骤里用到的linux下图形下的分区工具Gparted,可以媲美一下windows下的工具,我是用它做的)

3、挂载u盘和系统光盘镜像;

4、利用ms-sys工具写win7MBR到u盘:ms-sys -7 /dev/sdb

5、复制光盘镜像里所有文件到u盘;

6、快去修复系统啊,哈哈哈哈。

这里给出一个链接,刚为了记录这篇博文重新搜索ms-sys时发现的,里面还提到了另一个开元工具lilo 也可以完整这个工作。我当时是找到了第二个链接,是UC上的一篇博客,可以搜索了很久才看到。

1、How to make Windows 7 USB flash install media from Linux?

2、linux下制作window7安装U盘

本文标签: 启动盘 过程 环境 系统 Linux