- 0.前言
- 1.准备工作
- 2.win7系统分区
- 3.Ubuntu系统盘制作
- 4.引导Ubuntu系统盘
- 5.设置开机引导
- 6.解决时间错乱
0.前言
由于虚拟机不能通过校园网免流量上Google,and今天没课,一早上起来就赶紧准备装双系统,开启Linux之旅。资料查完后,主要有两种方式,硬盘和U盘两种方式,因为手上有个8G U盘,所以采用U盘方式,Ubuntu16.04的镜像也就1.38G,不算大。
知识
分区作用:
- 有利于管理,系统单独放一个区,和其他文件分开,产生的碎片很少,系统比较稳定,也延长硬盘寿命。
- 软件放一个区,因为软件的安装和升级都会产生碎片,单独放在一起容易碎片整理。
- 多媒体或BT等大文件也单独放一个区,因为BT对硬盘损坏比较大;
- 多个分区容错较强;
- 只是用文件夹分类会降低区文件搜索的速度,而且增删的过程也会产生较多的碎片;
- 分区将硬盘分成几个部分,有利于管理,但是也不能滥分,大范围使用分区,小范围使用文件夹。
硬盘分区:
- 硬盘分区=基本分区+扩展分区 <= 4
- 扩展分区不能直接使用,需要继续分成若干逻辑分区
- 逻辑分区不能安装操作系统,因为要访问逻辑分区需要进行多次跳转,所以无法启动操作系统,只能放主分区启动;
- 动态分区:操作系统接管整个磁盘,自己来调整磁盘,是微软推出给windows的,Linux下的是lvm;动态分区是不能装双系统的。
- 我的电脑是120G固态+1T硬盘,固态是主分区,硬盘由于之前被我分区了,并改成了动态硬盘,所以需要先改为基本分区。这里推荐工具:见下,具体的使用就不说了,系统自带的磁盘管理器太卡了,没事就死机。
- Anna的电脑本来分了4个主分区,导致后来怎么弄都无法直接从win10启动Ubuntu,后来找到问题就在这,因为win10下的MBR分区表最多存在4个主分区,所以就无法从win10启动Ubuntu了,解决方法有2个:
- GTP分区表可以存在N个主分区,把MBR改成GPT
- 重新分区
- UEFI和Legacy:
- UEFI是最新的BIOS启动格式
- Legacy是老式的BIOS启动格式
- UEFI=Legacy+UEFI
- Secure Boot:
- 其规格的本意是,让操作系统厂商自行选择公钥,通过认证。但是实际上,只有微软公司才有能力,让主板厂商内置它的公钥,其他公司都不具备这种能力。
- 由于微软保护windows安全,所以安装Linux系统的时候还是关闭BIOS中的Secure Boot选项。
Linux分区:
普通用户
| /boot | 1G | 启动分区,主分区 | | ----- | ------ |:-------| | / | 40G | |
| /home | 150G | 余下空间 |
| swap | 8G | 差不多和内存一样大 |- 服务器用户
| /boot | 200M | 启动分区 |
| —— | —— |:——-|
| / | 10G | |
| /home | 40G | 余下空间 |
| swap | 2G | |
| /usr | 10G | 系统软件 | (可合并)
| /opt | 10G | 用户软件 |
| /tmp | 2G | 临时文件 |
| /var | 2G | 系统日志记录分区 |
- 服务器用户
- 注意点:
- 大数据库一般要加大/usr挂载点
- 多用户、下载类、多存储文件等要加大/home挂载点
- 文件小,用户多要注意/tmp和/var挂载点大小
- /tmp和/var都是服务器时候才使用的,独立出来便于提高性能
- 随着硬盘容量的增大,无法引导Linux内核的现象再次出现,这也就是著名的137GB限制。很遗憾,Grub是无法引导137GB之后的分区中的Linux内核的。如果你不巧遇到了这样的情况,你就要考虑把/boot独立挂载到位于137GB前方的独立分区中,或者索性就把 Linux的分区都往前移动,让根目录所在分区位于137GB之前。
- 安全的分区方案原则:系统数据和普通用户数据分离放置于不同的分区,即/home
- 大数据库一般要加大/usr挂载点
- 汗~linux系统的1G对应1000M
1.准备工作
早上没睡醒一样,一不小心点了前一个study盘的删除卷,结果浪费了一下午恢复。so特别提醒,有重要的文件还是上传到云盘吧,防止误操作,增加容错~
误删了一个文档卷,悲催恢复了一下午,很好的教训~
环境:
- 系统:Ubuntu16.04,网上都有
- 系统引导工具:EasyBCD,下载:http://pan.baidu.com/s/1i5wVx7B
- U盘启动制作工具:UltarISO,下载:http://pan.baidu.com/s/1kVbmD3D
- 硬盘误删恢复工具:DiskGenus,下载:http://pan.baidu.com/s/1qYBAr3Q(仅为了防止误操作)
- 分区管理工具:分区助手PA,下载:http://pan.baidu.com/s/1qYBAr3Q
2.win7系统分区
右击我的电脑,管理 —— 磁盘管理:
最好是压缩最后一个卷的内容,压缩出合适大小,然后把这个卷删除,我以后就用Linux了,所以分了200G,任性~
3.Ubuntu系统盘制作
很简单,用ultraISO工具,具体使用见百度经验:http://jingyan.baidu.com/article/b24f6c82cf50e086bfe5dae9.html
4.引导Ubuntu系统盘
- 笔记本按F7进入(我的神舟是这样)选择U盘启动,进入后一步步看着执行即可,有一步要选择other,也就是自己来分区。
分区swap选择logical,boot选择primary,其他都是logical,原因参见win10的MBR分区,硬盘格式全都选择最新的Ext4,bootloader要选择当前Ubuntu的/boot所在磁盘,我的分区如下:
| /boot | 1G | 启动分区,主分区 |
| ----- | ------ |:-------|
| / | 45G | |
| /home | 150G | 余下空间 |swap主要是利用磁盘空间来虚拟内存使用,没有分,因为我的内存是8G,够用了,不需来要缓存~
5.设置开机引导
- 打开EasyBCD2.2 —— Add New Entry —— 选择Linux —— Type:GRUB2, Name=任意,Drive:选择之前分区的/boot,一般都是容量最小的那个 —— Add Entry 。
- 这也只是改为默认是win7启动而已,感觉没什么必要,Ubuntu命令行修改默认Grub也可以搞定。
6.解决时间错乱
问题:
- 装完之后,win7时间错乱了,查了一下,win和Linux两者默认看待系统硬件时间的方式不同。
- Ubuntu使用UTC即Universal Time Coordinated,协调世界时;
- Linux/Unix/Mac把硬件时间当作 UTC,操作系统中显示的时间是硬件时间经过换算得来的,比如说北京时间是GMT+8,则系统中显示时间是硬件时间+8。
- windows使用GMT即Greenwich Mean Time,格林尼治平时。
- windows把系统硬件时间当作本地时间(local time),即操作系统中显示的时间跟BIOS中显示的时间是一样的。
解决:
两种方法都可,我选择了第一种;- Linux下:
- 让Ubuntu不是用UTC
sudo gedit /etc/default/rcS
- 找到:UTC=yes
- 改成no即可
- 新方法:
- timedatectl set-local-rtc 1 –adjust-system-clock
- 然后重启
- 新方法:
- windows下:
- 让windows把硬件时间当做UTC:
- 开始 —— 运行 —— CMD:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
- Linux下:
7.后续爆炸性问题
- 主要问题:
- 想给ubuntu分配5G的固态来启动,所以重装ubuntu,先卸载,也就是直接格式化200G的那个盘,然后重启,同样的操作,结果忽略了很重要的一点就是没有把windows下面的引导该回去,也就是先把ubuntu的那个给删掉。
- 我没删,所以重启后gg了,win进不去,直接到了grub rescure 界面,这还好办:
- ls 查看一下分区
- set root=(hd0,msdos2),选择ubuntu的启动的那个盘
- set prefix=(hd0,msdos2)/grub,这是我的,网上也有/boot/grub的,目录不一样;
- insmod=normal
- normal 启动即可进入ubuntu的grub
- ls 查看一下分区
- 但是只能进ubuntu了,还是进不到win7下;
- 折腾了一下午,还是不行,晚上上课,就和同学拷了个win10,重装系统~~
- 然后总结就是,windows的引导不能乱改,改了找不到路径,就进不去了,当然可以直接用winpe系统盘进入修复,但我的被我先试了太多乱七八糟的方法,遂爆炸~
- 最后就是用win10下,继续重装ubuntu双系统了,只是win10还需要先设置一下,具体参考:http://www.jianshu.com/p/2eebd6ad284d
[TOC]