环境: ASUS MB VER K45VD 笔记本电脑一台( i5-3230M 处理器、 SATA 、 Nvidia)、 Windows7 系统

在 win7 下安装 CentOS7

使用 UltraISO(软碟通) 制作 U 盘启动盘
到官网下载安装镜像,插入 U 盘,打开 UltaraISO ,选中下载的镜像,依次点击“启动 -> 写入硬盘镜像”,在弹出的窗口中选择 U 盘,首先用 fat32 格式格式化 U 盘,然后选择写入方式“usb-hdd+”(这个方式根据电脑的硬件环境不同自行选择,有些老电脑不支持这个方式),点击写入开始向硬盘写数据。大概 10 分钟到 20 分钟即可完成,制作完后不用复制任何文件, U 盘大概使用了 4 G。这里还需要修改一下 U 盘中的文件,进入 U 盘,修改 isoLinux/sysLinux.cfg isoLinux/grub.cfg 文件(或者还有其他几个文本文件),修改里面关于启动 U 盘的名称改为现在 U 盘的名称,否则无法从 U 盘安装系统。

划分空闲分区
在 Windows7 下右击图标“计算机”进入计算机管理,点击“磁盘管理”,选择 Windows 分区空闲最多的分区,右击,点击“压缩”盘(最好是最后一个分区,可以将最后一个分区的文件移动到前面的分区),选择压缩的空间,我压缩了 150G 。

安装
重启电脑,选择从 U 盘启动;这里有一个 EFI 的启动方式(默认 u 盘启动会使用这种方式),这是一个较新的技术,选择这个方式和没有 EFI 在启动方式上有区别,似乎要使用 GPT 硬盘,选择哪种方式要看电脑硬件支不支持,较新的电脑一般会支持,我选择这两种方式都可以。选择启动方式后,会进入 CentOS7 的安装界面的选择项,一个是直接安装系统,一个是测试硬件后安装系统,建议测试下硬件是否支持。我选择直接安装系统,进入 CentOS7 图形安装界面,选择语言,选择时区,设置网络,系统分区,设置软件安装,设置 Kdump (用来检测系统错误信息,一般关闭 Kdump )。分区时首先选择手动分区,注意次序,先选择 /boot 分区,500M左右吧,这个分区会存放启动时的镜像文件(选择 efi 方式启动的要先分 /bootefi ,再分 /boot,而没选 efi 方式的会有一个 /bootbios 分区,我没有管它);选择根分区“/”,大概 50G(自己看情况选择大小咯), swap 分区,大概 4G , home 分区剩下的,保存选择,如果不能安装就再次分区,这次选择自动分区保存退出即可;注意选择安装的软件,软件源是本地 U 盘,不用设置,选择安装的软件种类时选择 Gnome ,并且将右边的相关软件都打钩(需要的),这样安装图形界面后有无线网络的图标,很方便(选择编程种类时虽然软件更齐全,但是没有无线网络的图标,设置网络麻烦,并且它的 DHCP 服务还不好设置),关于网络的设置参考可以我另外一篇随笔。

在 Linux 下找回 Win7 的启动项:
在/etc/grub.d/40_custom中添加如下语句增加 Windows7 启动项

menuentry 'Windows 7'{  
            insmod part_msdos  
            insmod ntfs  
            insmod ntldr  
            set root=(hd0,3)          # 我的 Windows7 的 boot 启动分区(有的电脑 boot 文件就在 c 盘里,但是我的被单独划分出了一个分区)是 /dev/sda3
            chainloader +1          # +1 前面有个空格
            boot  
    }

然后执行命令 grub2-mkconfig -o /etc/grub2.cfg (根据 grub2.cfg 文件位置选择目录),重启电脑即可;使用 Linux 系统后一段时间,执行上面的命令就能自动识别 Windows7 的启动分区了,不用在 /etc/grub.d/40_custom 中添加语句。

grub rescue

造成这种不良事故的罪魁祸首是我的好奇心和 testdisk 这个强大的数据恢复软件,很可怕的性能,我没有完全了解他的操作,结果将我的分区搞坏了,系统启动不了,之后好好研究下他的操作。

我的系统配置是:CentOS7,grub2,mbr。

grub rescue 修复过程:
grub rescue 中能用得到命令:
ls set prefix root insmod
首先输入ls查看系统中有几个启动盘,我的情况是(hd0) (hd0,msdos1)………如果你知道自己的启动盘可以略过这段。
然后依次使用ls (hd0,msdosX)这条命令,如果出现filesysrem未知,则你的grub不在这里面,出现file not found 或者一大串文件列表,并且有grub. cfg这个文件,那么恭喜你,找到grub所在的磁盘了,我的是(hd2,msdos)
我的/boot是单独分区的,使用grub2,因此下面的情况适仅适合/boot单独分区的咯,如果你是没有单独分区的情况,请到网上搜索,大致的过程一样,仅仅目录grub的位置不同(没有亲自实践,不敢肯定)。

执行下面几条语句:

set root=hd0,msdos2
set prefix=(hd0,msdos2)/grub2
insmod normal
normal

这样就可以正常启动了,具体参数视自己情况而定。
启动之后进入系统,执行下列命令,不然每次启动都要进入grub rescue ,很不好。
grub-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sda
这样就行了,网上资料说这样是重建了MBR分区。

重建grub2

使用livecd或者u盘安装盘,进入系统后有sh#提示符。

sudo mount /dev/sda2 /mnt    #/dev/sda2是grub2所在的分区,可以进入grub后使用find /boot/grub/grub.cfg找到。

sudo grub-install root-directory=/mnt /dev/sda      #/mnt是系统安装的位置,重建的grub2在第一硬盘。这里的根目录不是电脑硬盘的目录(这条命令似乎不行)

相关经历:

下面是我这次悲惨遭遇的缘由,悲惨是因为我的磁盘中除了Linux系统启动和运行需要的分区还完好外,其他的分区都被销毁了,也许在经历一番波折后还能找回来,毕竟在磁盘分区消失后我没有在上面进行任何操作,数据没有丢失,以此为鉴。

前段时间我的电脑系统还是win7,在vmware虚拟机中装ubuntu学习了Linux下的shell编程,之后一段时间学习了系统方面的知识,然后就想装个centos7——win7的双系统,个人更喜欢centos,ubuntu更适合入门吧。经历各种挫折后终于装好了,关于如何安装的centos7与win7双系统,以后有时间我会写一篇博文详细记录下来的,波折不少,记录下来对我现在的时间来说不允许。其中的经验既可以与你们分享,又能让自己在很久之后还记得自己的成长历程。

这次“事故”是因为我昨天在virtual box中装好了win7的虚拟系统,所以我就想将笔记本上的win7卸载了,直接在虚拟机中运行。想到就做到,我直接将win7系统盘格式化,然后执行

grub-mkconfig -o /boot/grub2/grub.cfg

这个命令,重启系统。之后正常就如centos的启动过程,可是一直卡在了一条进程上面

a starting run in /dev/system

system 是我的win7系统盘分区(被我格式化的那个分区),我设置在系统启动时默认挂载win7的系统分区在 /system 目录下,问题就出在这里,我将它格式化后系统无法识别这个分区,无法挂在,因此系统集一直卡在这里,无法进入图形界面。在网上赵了很久,还下载了testdisk这个强大的软件 *_* ,最终在archLinux.org找到了解决方法(archLinux.org是个很棒的网站,我很多问题都是在上面找到解决方法的,他并不局限谈论archLinux这个发行版的,并且网站的管理也很好,不过似乎中文的版面很少很少,英语要有点基础)。

解决方法就是修改 /etc/fstab 中有关挂载 system 分区的语句,将他注释掉,重启系统,OK。
问题全都完美的解决了,win7已经从我的硬盘中消失了(除了虚拟数据),perfect。

可惜我的手有点发痒,想起昨天下载的testdisk软件还没有实践过呢,要不要实践一下呢(魔鬼般的想法毁灭了我宝贵的数据,我写的程序都消失了吗?),于是我就用他来恢复了我的win7系统盘,扫描了一晚上,将数据全部扫描出来了,然后我就将他写进了系统中,重启系统,很顺利。之后我就进入了 grub rescue 这个大坑。一番bing 搜索之后,终于找到上面的方法重启了系统,修复了系统,可是万万没想到,我的system盘恢复了,其他的几个关键的数据分区消失了,痛心疾首啊,这时突然发现grub居然自动识别了 windows7 的启动程序,以下勾起了我的好奇心,我能不能在window上恢复我丢失的文件呢?想到做到,重启,进入win7。这里不得不佩服下testdisk了,win7居然一点没变的重启成功了,就好像我并没有格式化他一样(快速格式化只是改变磁盘的属性,并不会改变数据,而恢复数据就是重建磁盘的相关信息,所以只要不覆盖原来的数据,就可以完美恢复),然后我下载了一个360(以前都用金山,用了很久,感觉比360好用,但是在系统底层方面好像不是很擅长,我感觉自己系统有些问题,可是他一直没有检测出什么问题,一直没有检测出来我的耳机驱动有什么问题,就是插上耳机没有声音。可能底层的问题和这些所谓的电脑管家、电脑助手关系不大,可惜我想修复下系统都不行,驱动精灵也是坑),希望他能修复我的系统引导问题,以前我就用360重装过系统,不过360除了要你绑定一大堆软件外,并没有什么用哈。

然后我就重启进入了centos,再次删除了system这个盘。这就是这次数据丢失的全过程了,我还期望用testdisk恢复我的数据呢。希望这篇文章能帮到和我有相似经历的同学,切忌不要再已经删除的分区上进行任何操作,除非你确定上面没有什么重要的数据,否则书局恢复软件也回天乏力,我在操作磁盘的过程中,看到root home boot 一类的Linux 安装时创建的分区后都远远避开,即使只是大小和他们相同的磁盘也绝对不进行任何操作,否则我现在就不是在这里写下我的经验,而是重装系统了。

吐槽

这里吐下槽,博客园在手机上的网页版有点问题啊,我在手机的记事本中编辑了这个博文,打开手机浏览器,进入我的博客,想粘贴这段文字,因为我使用的google输入法,没有粘贴选项,平时都是使用andriod自带的粘贴功能,可是我在编辑博文时发现无法调用andriod的粘贴功能,结果我通过邮箱,在电脑中打开邮件才将这篇博文发布上来了,希望博客园越做越好,喜欢这个清净的地方。

参考:

http://blog.hellosa.org/2010/11/29/grub-grub2-rebuild.html
http://www.mintos.org/newbie/ubuntu-restore-grub2.html
http://ying.hopto.org/wp/%E4%BD%BF%E7%94%A8grub2%E9%87%8D%E5%BB%BAmbr/
http://blog.csdn.net/sdfgh2046/article/details/5770810

CentOS7 win7 u盘装双系统 修复系统的更多相关文章

  1. 【解决】U盘装系统(Win7/Win8)& 装双系统

    作为一名计算机的学生,不会装系统是不是会被笑掉大牙?!! .. 我一直就不太会(不是不会,是不熟练) .. 所以今天闲着没事,把旧电脑捣鼓起来 .. 主要是为了熟悉U盘装系统和装双系统的步骤 .. 基 ...

  2. Win7 U盘安装Ubuntu16.04 双系统详细教程

    Win7 U盘安装Ubuntu16.04 双系统详细教程 安装主要分为以下几步: 一. 下载Ubuntu 16.04镜像软件: 二. 制作U盘启动盘使用ultraISO: 三. 安装Ubuntu系统: ...

  3. 通用PE u盘装Ghost Win7系统

    http://www.tongyongpe.com/win7ghost.html 导读 通用pe工具箱是现在最老牌的的U盘装系统和维护电脑的专用工具之一,一键式制作.操作简单便捷,几乎100%支持所有 ...

  4. 通用PE u盘装Ghost Win7系统教程

    通用PE u盘装Ghost Win7系统教程 导读 通用pe工具箱是现在最老牌的的U盘装系统和维护电脑的专用工具之一,一键式制作.操作简单便捷,几乎100%支持所有U盘,不再为装机烦恼们,抓紧时间下载 ...

  5. gpt格式下通过U盘装win7系统

    首先下好一个64位的win7系统,可以是ghost版的,然后放到你的U盘,在U盘的根目录下添加bootmgr.efi,bootx64.efi.shell.efi这几个文件,其它都不要管,重启,你就在g ...

  6. 图解:如何U盘装Win7系统(傻瓜式装机) + 分区步骤图解(用WIN7自带管理工具)

    原地址:http://wenku.baidu.com/link?url=wV2Pfw2IM21u2KmtAcNweSZRwpXRuKAVAS29dS4aWGEpMtFdDlzZvixCgsvBxIm- ...

  7. u盘装系统,u盘安装win7系统教程

    http://www.upanboot.com/tool/anzhuang_win7.html 可以用本教程给笔记本.台式机.上网本和组装电脑通过U盘安装Win7系统. 步骤一.首先要准备一个至少8G ...

  8. Legacy安装win7和Ubuntu14.04双系统

    Legacy安装win7和Ubuntu14.04双系统 安装环境 Legacy启动模式(传统引导) 笔记本已安装win7 硬盘启动顺序为: U盘 硬盘 光驱 安装方法 制作U盘启动盘 在Ubuntu官 ...

  9. 安装Win7和Ubuntu12.04双系统后,意外删除Ubuntu12.04引导文件,出现error:unknown filesystem;grub rescue>错误的解决方案

    很久之前在Win7基础上安装了Ubuntu12.04系统,采用硬盘安装的方法.分了1个10G的硬盘分区F盘用于存放Ubuntu12.04的引导文件,其实完全可以制作一个Ubuntu12.04的U盘启动 ...

随机推荐

  1. 一个简单的html5页面在线速成工具!(当然本文主要说下他的成果的结构)

    分享一个好玩的web app页面速成工具 当然主要是让大家看下他的原理 看着他的结构大家就该猜到这个了.这个是利用换页之后给当前div加了一个active,然后利用css控制效果 这个毫无疑问是采用最 ...

  2. Python中MySQLdb的事务处理

    今天写了个tool,目的是把csv中的数据插入到数据库中去.其中有一部分,是需要分别向两张表中插入两条数据,如果第二张表中的数据已经存在,那么第一张表中的数据也不需要插入. 然后通过百度查找发现,其实 ...

  3. HDU 1048

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { char ...

  4. ACM3 求最值

    /*2*2014.11.18*求最值*描述:给定N个整数(1<=N<=100),求出这N个数中的最大值,最小值.*输入:多组数据,第一行为一个整数N,第二行为N个不超过100的正整数,用空 ...

  5. putchar和puts

    #include<stdio.h> int main() { char a = 'h'; char b[] = "hello"; putchar(a); //putch ...

  6. 论在Windows下远程连接Ubuntu

       Ubuntu下1:下载xrdp   sudo apt-get install xrdp 2: urs/share/applications 下找到  远程桌面 设置成这样 Windows下 1; ...

  7. Marsedit 破解版下载(3.5.6)

    Marsedit 破解版下载(3.5.6) 最近在 Mac 端写文章经常遇到棘手的问题,最近发现了 marsedit 现在分享给大家 marsedit downloads

  8. 线程7-ThreadLocal

    有时间再整理 ThreadLocal不是用来解决对象共享访问问题的,而主要是提供了保持对象的方法和避免参数传递的方便的对象访问方式.归纳了两点: 1.每个线程中都有一个自己的ThreadLocalMa ...

  9. Centos7下搭建LAMP平台环境

    1.启用Apache2 Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start httpd. ...

  10. IE8 margin: auto 无法居中

    需要给body元素添加属性 body { text-align: center; width: 100%; } ok,可以正常居中.