记一次ubuntu下安装win7的过程
番茄系统家园 · 2021-08-17 00:43:24
磁盘无损分区
原来的系统上有很多重要的数据,分区的时候整个硬盘就分了一个区,要想装win7就必须再分一到两个主分区。进入PE,用调整分区容量,空出来的空间再分两个区。
安装Win7
公司电脑不能联网不能插u盘,只能用光盘安装系统,进入安装界面后系统提示需要光盘驱动,真是哔了狗了,光盘要啥驱动,无奈只能进PE用系统安装工具把系统文件先写进磁盘然后安装。文件写入完毕后重启系统,提示,因为安装工具把的MBR写入了磁盘,而分区目前并不是激活分区所以提示没有操作系统,此时再进入激活所在的分区,重启进入系统,顺利安装。但是由于修改了MBR,现在的无法启动了。
修复启动项
原来打算win7装好后用easybcd新建Ubuntu的启动项,但是新系统没有任何驱动文件,无法联网,无法插光盘变成了一个信息孤岛。然后后来发现easybcd添加的启动项也没用,进入系统显示Try(hd0,0):EXT2错误,不知道啥原因。放弃在Windows启动管理器启动Ubuntu的想法,改用Ubuntu启动管理器grub2启动Windows。
使用grub2启动管理器
这中间走了很多弯路,具体的弯路就不一一描述了。使用Ubuntu光盘进入使用而不安装的临时系统,使用命令行把主硬盘启动管理器改成grub2,命令如下:
假如你的ubuntu的/分区是sda7,又假如/boot分区是sda6,用livecd启动,
在终端下输入
sudo-imount/dev/sda7/mntmount/dev/sda6/mnt/boot#如果没/boot单独分区这步跳过grub-install--root-directory=/mnt//dev/sda#这步就是在硬盘上安装grub
如果grub.cfg己丢失,需要重建的还要执行
mount--bind/proc/mnt/procmount--bind/dev/mnt/devmount--bind/sys/mnt/syschroot/mntupdate-grub2#当前电脑的系统必须使用grub2,不然直接进入grub命令行,需要手动加载系统内核umount/mnt/sysumount/mnt/devumount/mnt/procexit
经过上述操作之后就可以进入grub2启动管理器,也可以顺利进入Ubuntu,但是没办法进入win7,现象是先花屏,然后没反应。继续搜索解决方案,找到一条:
进入Ubuntu命令行手动增加启动项:
sudogedit/etc/grub.d/40_custom
在文档最下面增加:
menuentry'搜索并启动windows7'{recordfailgfxmode$linux_gfx_modeinsmodgzioinsmodpart_msdosinsmodntfssearch--no-floppy--file--set=root/bootmgrntldr/bootmgr}
然后再更新一下grub启动项:
sudoupdate-grub2
重启进入启动管理器,选择新建的“搜索并启动windows7”,顺利进入win7。另外还有系统生成的一个win7启动项,但是没用,丢在那不管它就行,删了有可能会影响有用的这个。
grub命令行手动加载内核
如果在安装grub时没有使用
sudoupdate-grub2
而是使用了
sudoupdate-grub
会安装一个低版本的grub,重启后进入grub命令行,进入这个命令行后可以手动加载内核进入系统。
grubls#ls之后会出现很多分区,进入/boot所在的分区,我这里是(hd0,msdos1)grubls(hd0,msdos1)/#显示/boot下的文件,我们需要vmlinuz开头和initrd开头的文件grubsetroot=(hd0,msdos1)#这个是vmlinuz和initrd所在分区,如第一分区是(hd0,msdos1),要搞不清楚就用grubsearch-s-f-n/vmlinuzgrublinux/vmlinuzroot=/dev/sday#sday的是你的/分区号grubinitrd/initrdgrubboot
进入系统

