记录一次在安装双系统的过程(先有debian, 后加windows 8.1)
突破的难题: 如何在一整个根目录的分区中切出来一半用于安装windows8.1呢?
当初安装debian系统时, 由于脑残,直接把整个500G的硬盘分给了根目录 / ,所以整个磁盘就TMD的一个主分区; 现在想再安装一个window 8.1系统,太让我为难了,几乎找了所有资料,就是没有找到一个在linux下如何把一个分区减少的方法(前提,没有使用LVM机制进行分区)。怎么办??
我想,由于我的整个500G硬盘已经用了不到50个G,我干脆直接把MBR里面的分区表修改一下应该就可以吧!! 但是,没有找到修改分区表的工具, 使用 fdisk 命令也没有修改分区大小的选项。 我灵机一动,我干脆把主分区1删了,然后再重新添加一个200G的分区就等于把原来的500G分区修改为了200G吧,反正硬盘的第一主分区开始的扇区都是一样的,保证好扇区起始相同就OK了!!修改之前需要做的一个件事:我们需要把文件系统由500G调整为200G的文件系统;
由于需要把该主分区 umount 下以后才能操作,所以需要借助一个U盘里的另一个 linux 系统完成该操作,操作如下:
1. 使用 resize2fs 命令,把文件系统由原来的500G 缩小至200G; resize2fs 命令并不改变分区的大小;
- 使用 e2fsck 命令检查文件系统, e2fsck /dev/sda1
- 使用resize2fs命令,调整sda1上面的文件系统至200G, resize2fs /dev/sda1 200G
2. 使用 fdisk 命令把sda1分区删除,再添加一个210G的分区,为了安全起见,使分区比文件系统多了10G;
sudo fdisk /dev/sda
d #删除sda1分区,因为整个硬盘就一个分区,所以不用标记分区号;
Partition 1 has been deleted. Command (m for help): n #新建分区
Partition type
p primary (2 primary, 1 extended, 1 free)
l logical (numbered from 5)
Select (default p): p #建立主分区 Selected partition 1
First sector (2048-976773167, default 2048): #开始值选择默认就OK;
Last sector, +sectors or +size{K,M,G,T,P} (2048-524290047, default 524290047): +210G #大小为210G Created a new partition 1 of type 'Linux' and of size 210 GiB. #最后按 w 保存退出就可以了;
安装window8.1系统:
现在已经扩展出了一半的磁盘,我们就可以在这部分安装 window8.1了,具体步骤就不说了,说几个重要的注意事项:
1. 安装时,别重新安装 主引导记录, 否则原来的linux系统都启动不起来了,后面使用grub2进行引导;
2. 安装时,如果弹出如下窗口时,解决办法:按下shift+f10 会打开命令窗口,进入到C:\windows\system32\oobe文件夹,输入msoobe回车然后输入msoobe即可进入下一步操作,但错误提示框仍然在,不用理会。
3. 安装完成进入了window8.1 桌面以后, 记得关闭 window8.1的 快速启动选项,否则会无法关机, 即使强制关机以后,再启动时,就会出现下面无法启动的问题。 如果真的出现了这个问题的话,反正吧,借助硬盘上的MBR引导它是启动不起来的,你再怎么修复系统所在分区的分区引导记录也不管用, 或许你可以使用老毛桃制作一个U盘启动盘可以启动起来;
在linux系统下,使用grub2 对 window8.1进行分区引导:
(更多参考 grub2.02的文档:https://www.gnu.org/software/grub/manual/grub/grub.html)
在我的电脑上, 使用的是 grub2.02版本, 进入 /etc/grub.d/目录下,我们会发现有如下文件(版本不一样,会不相同的,我只说我的版本):

其实呢, 30_os_prober文件就是一个操作系统的嗅探配置文件,它可以自动地去探测硬盘上支持的操作系统, 所以,安装完了windows以后,只需要执行 sudo update-grub 命令,它就会自己搜索并配置相应的操作系统的引导文件;
当然,我们也可以自己写 window8.1的引导配置文件,打开40_custom文件,里面内容如下:

所以,我们只需要在下面写上window8.1的引导配置文件就好,然后执行 sudo update-grub 命令更新:

其中, insmod chain 表示链式引导, insmod ntfs 表示引导的操作系统的文件系统类型为nfts, (hd0,3) 表示我的window8.1系统在第一块硬盘第3个分区上, chainloader +1 表示从所在分区的第一个扇区开始;
最后安装完成的启动界面:

记录一次在安装双系统的过程(先有debian, 后加windows 8.1)的更多相关文章
- Win7下安装双系统Centos,并修复Centos引导加载程序安装在U盘上的问题
1.使用U盘安装Centos时,磁盘分区划分要注意:系统(包含Win7)只能4个主分区,所以只能在删除一个主分区或者在扩展分区的空闲分区内建立目录. 2.Centos在安装步骤的最后,引导加载程序的选 ...
- U盘启动盘 安装双系统 详细教程
U盘启动盘 安装win7+linux双系统 最近在看鸟哥的linux 私房菜 ,看到多重系统那部分,自然的安装多重系统的激情由此而燃.在网上看了很多资料,感觉都不全.经过艰辛的摸索,终于被我发现了一个 ...
- Windows 10+Ubuntu 16.04在MBR分区上安装双系统之后启动菜单的System Setup选项提示:can't find command "fwsetup"
背景: 硬盘分区方式:MBR 硬盘容量256,Windows 100,Ubuntu 156,其中主分区安装的是Windows,Ubuntu安装在逻辑分区上,文件系统为Ext4,整个Ubuntu就挂载在 ...
- win7+centos6.5安装双系统
前言:之前在琢磨怎么安装双系统 倒腾了两天终于给装上了 使用软件 镜像:CentOS-6.5-x86_64-bin-DVD1.iso 开机引导软件 easybcd2.2 u盘制作软件 USBWrite ...
- 记录一下l联想Y7000安装双系统(win10+ubuntu16.04)
单位新配的联想拯救者Y7000,感觉很不错哈,先上一张图. 说实在的,装这个有些小坑,我最开始是直接在原装win10上去装双系统的,结果死活装不上,还把原装win10给折腾没了,哈哈,好逗,以前装双系 ...
- ubuntu server 14.04 LTS下搭建LAMP环境之最详细笔记之一U盘安装双系统
前言: 一直在WIN上使用PHP,不喜欢用WAMP,每次都是手动在windows配置环境,偶尔有一次装了小红帽玩了两天,感觉不是很习惯就换了回来,过了没几天见讨论LAMP环境,于是安装了ubuntu的 ...
- 安装双系统window +ubuntu
在网上,试过很多种方法,有U盘制作安装,感觉好复杂,这边有一个简便的方法就是使用Ubuntu 的 wubi安装. 一直想安装双Ubuntu 系统很久了,可是以前在大学时期的时候一直努力,好像都不行,这 ...
- MC700 安装双系统
2011年买的MBP MC700给老婆用了一段时间后,老婆还不习惯不了Mac OS或是虚拟机,要求必须给安装windows,无奈时隔四年后,只能重新尝试在MC700上用bootcamp安装Window ...
- 关于笔记本安装双系统windows and linux
ps1.安装完成后,补充下如何设在win7为默认启动系统, 大家也都知道,在linux 运行当软件都是以配置文件来设置参数当,当然grub菜单也不例外, 修改菜单可以进入grub.conf [root ...
随机推荐
- dns安全 涉及 术语
僵木蠕 以“僵木蠕”(僵尸网络.木马.蠕虫)为代表的网络威胁 僵尸网络是攻击者出于恶意目的,传播僵尸程序bot以控制大量计算机,并通过一对多的命令与控制信道所组成的网络,我们将之称之为僵尸网络,bot ...
- [BZOJ4541][HNOI2016]矿区(平面图转对偶图)
https://www.cnblogs.com/ljh2000-jump/p/6423399.html #include<cmath> #include<vector> #in ...
- 11.1 正睿停课训练 Day14
目录 2018.11.1 正睿停课训练 Day14 A 字符串 B 取数游戏(贪心) C 魔方(模拟) 考试代码 B C 2018.11.1 正睿停课训练 Day14 时间:3.5h 期望得分:100 ...
- POJ.2774.Long Long Message/SPOJ.1811.LCS(后缀数组 倍增)
题目链接 POJ2774 SPOJ1811 LCS - Longest Common Substring 比后缀自动机慢好多(废话→_→). \(Description\) 求两个字符串最长公共子串 ...
- 2016年3月15日Android实习日记
1.解决了ScrollView滑动冲突问题. 2.设置好了“查看详解”与“题目编号”的部分. 3.完成了app启动图片的设置,并在启动的过程中开辟新的线程连接服务器并开启监听数据. 别忘了注册启动Ac ...
- LOJ2542 随机游走 Min-Max容斥+树上期望DP
搞了一下午 真的是啥都不会 首先这道题要用到Min-Max容斥 得到的结论是 设 $Max(S)$表示集合里最晚被访问的节点被访问的期望步数 设 $Min(S)$表示集合里最早被访问的节点被访问的期望 ...
- 支付宝sdk集成过程中报 openssl/asn1.h file not found错误的解决办法
当你把文件导入到了这个工程目录下 :项目名称/library/Alipay/openssl ,中间是隔了几个文件夹 的 那么在Header Search Paths 的设置就得改为 $(SRC ...
- Kaggle Titanic solution 纯规则学习
其实就是把train.csv拿出来看了看,找了找规律,调了调参数而已. 找到如下规律: 1.男的容易死,女的容易活 2.一等舱活,三等舱死 3.老人死,小孩活 4.兄弟姐妹多者死 5.票价高的活 6. ...
- linux 关于时间日期date
一.查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方法 A 命令 : "tzselect" ...
- C++泛型编程(1)--自己实现C++迭代器/遍历器 iterator
1.原理 迭代器又称为遍历器,用于访问容器中的数据,迭代器旨在算法和容器之间搭建访问的桥梁,从而使算法和数据分离,不用关心数据具体的存储细节.具体的原理描述请参考以下两个博客: [1].C++迭代器 ...

