热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

win8.1装载windows和linux双系统

由于最近经常要用到linux系统,但是跑虚拟机太卡了,因而想在电脑上装win8.1和ubuntu双系统折腾了一天系统终于按照我想要的方式跑了,故记录如下双系统分别为windows

由于最近经常要用到linux系统,但是跑虚拟机太卡了,因而想在电脑上装win8.1和ubuntu双系统

折腾了一天系统终于按照我想要的方式跑了,故记录如下

双系统分别为

windows8.1

ubuntukylin14.04.2(一种linux发行版,下文简称linux系统)

参考博客:

博客1、确定安装方式:http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=467746

博客2、步骤总述:http://blog.csdn.net/frank_jb/article/details/50476071

博客3、UEFI方式详细步骤:http://tieba.baidu.com/p/3338849023

注:两个系统能互相访问对方的磁盘空间,但是win8.1不能识别EXT4格式的磁盘,所以无法访问linux的磁盘空间,但是linux可以访问win8.1的磁盘(通过磁盘挂载的方式,一般linux会自动挂载)

1、确定安装方式

ThinkPad E550,是预装win8.1的机型,属于UEFI+GPT

确定是否为GPT的方法:右击我的电脑->管理->存储->磁盘管理->右击磁盘0,显示灰色的“转换成MBR磁盘”,则确定磁盘为GPT磁盘

2、腾出磁盘空间

在第1步所打开的界面中,用磁盘管理器对磁盘分区,选中对应磁盘块,右键->删除卷,可释放磁盘空间,被释放的磁盘空间会显示“未使用”,多块未使用的磁盘会自动连接成一块,下图是我已安装好linux后的图片,安装前后面大概50G的空间应该为一块区域

上图磁盘分区最前面有1000M、260M的磁盘空间,最后面有14.33G的磁盘空间

260M的分区是系统的引导分区,每次开机时系统会识别里面的引导文件,从而将系统启动

1000M和14.33G是存放win8.1系统的地方,win8.1可以不备份还原点而恢复出厂设置就是由于这两个磁盘,但是网上也有人为了扩展一点用户磁盘空间而修改了这两个地方,

导致系统不能启动.。。。

因而这3个地方是绝对不能动的

网上有很多方法可以打开这3个磁盘查看里面的内容,出于好奇,我找了一种不用插件查看的方法,具体步骤如下

以管理员身份运行命令提示符(在桌面左下角右击会看到)依次输入以下指令


然后就能在“我的电脑”中看到这些文件了,我试着将前后两段磁盘文件拷贝出来,也试着上传到网盘备份,结果都失败了。。。

但是第2个分区的内容是可以拷贝出来的(除了两个BCD文件由于正在运行不能拷贝)

(此时进入C盘,打开boot文件,会发现这个文件里面的内容与第2个磁盘中Microsoft文件夹下的内容完全一样)

3、制作引导文件

按照博客2的方法使用UNetbootin,免费的软件,使用很简单,如果有已经下载镜像文件选择镜像文件,驱动器选择U盘

之后将制作好的U盘插入电脑,如果是USB2.0的U盘需要插入2.0的插口,否则无法从U盘启动

4、设置系统从U盘启动

首先将win8.1的快速启动关闭:

控制面板->硬件和声音->电源选项->左边“选择电源按钮的功能”->最上面更改当前不可用的设置->最下面将之前灰色的快速启动对号去掉

之后就是设置win8.1系统从U盘启动

有两种方法:

方法一:设置->更改电脑设置->更新和恢复->高级启动->立即重启

疑难解答->启动选项->设置UEFI固件,之后电脑会进入bios界面

方法二:直接重启,电脑上面刚有图像时下面会有一句英文提示,大概意思是,按Enter键阻止正常启动

在之后的界面中按照提示,按F1进行bios设置

我的电脑在security boot是默认开启的(这个开启的同时在boot mode会强制选择UEFI only)

ThinkPad如果按照一些网上的教程关掉security boot同时选择legancy only会导致电脑无法启动!(如果不小心选错并重启了,就用方法二再次进入bios界面)

之后设置U盘启动为默认启动方式:在boot mode界面打开mode选项,将光标移动到USB HDD上,按“+”将此选项移动到第一的位置

设置好后按F10 保存并推出,之后再启动就要开始linux的安装了 

5、linux系统的安装

在启动的界面中选择install ubuntu选项,进入安装界面,参照博客3

这里最重要的是安装启动引导器的设备,选择到和Windows boot manger一个盘,否则会导致启动失败

之后按照教程完成系统的安装

我之前安装的时候选择了默认选项,导致开机时只能启动linux系统,而无法启动windows

后来找到了解决办法:

在系统选择界面,选择Windows boot manger,进入bios界面,将Windows boot manger调到第一,之后系统及会顺利启动了,但是这又会导致linux系统没法启动

也就是说如果两个系统的启动引导器不在一个盘,就得通过设置boot的默认启动方式才能打开另一个系统,后来我在windows下将linux的50G空间重新释放掉重新装了一次linux系统,之后进入系统选择界面时只要选择对应的系统就能进入了

不过若是将Windows设置为默认启动,则会导致系统不进入系统选择界面,直接进入Windows系统,所以这里需要在bios界面中将linux系统的设置为默认boot方式

同时为了安全起见,防止系统不小心把U盘识别错误而从U盘启动,最好将U盘的优先级调到下面。

6、美化系统启动界面

现在其实已经能顺利使用双系统工作了,不过如果为了系统的美观性可以继续,按照博客3,下载refind软件,则可以由自己改动

同时这里有三篇帖子详细讲述了这个软件的使用方法,这个方法和博客3略有区别,他是按照官方推荐的方法来做的

https://tieba.baidu.com/p/4379541712?red_tag=3209899210

https://tieba.baidu.com/p/4380168027?red_tag=2707847384&traceid=

https://tieba.baidu.com/p/4383185951?red_tag=1493671845



附录1:修改ubuntu开机启动音乐

每次开机都会听到“咚咚”的两声ubuntu开机启动声音,在网上查了一下资料,找到了能改变开机启动音的方法

打开终端

输入cd /usr/share/sounds/ubuntu/stereo/

输入ls -l命令查看文件内部详细信息,其中的system-ready.ogg文件是一个软链接,指向dialog-question.ogg

这个system-ready.ogg就是开机启动声音的快捷方式,改变它的指向就能改变开机启动音

输入以下指令修改软链接的目标

rm system-ready.ogg

ln -s desk-login.ogg system-ready.ogg

将system-ready.ogg指向了desk-login.ogg,修改完后重启系统,会发现启动的声音变了


附录2:电脑恢复出厂设置

在安装linux系统之前,我先对电脑进行了出厂设置的恢复,即将电脑所有软件和文件都删除,步骤如下:

将鼠标划到屏幕右下角,设置->更改电脑设置->在左边找到“更新和恢复”->恢复

此时有3个选项,选择“删除所有内容”那个选项,之后会选择删除的磁盘和方式,自己对两种方式的理解

完全删除:将磁盘完全清空,并对所有磁盘空间写入随机数据,从而防止数据恢复,由于需要将所有磁盘都重写,会耗费很长的时间,并且像整理磁盘碎片一样,会影响磁盘寿命

仅删除我的文件:将文件索引删掉,但是文件实际上还在那,但是系统无法识别这些文件,这种方清理后的磁盘文件视情况有可能恢复


我选了删除我的文件,大概等了半个小时就完成了





推荐阅读
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • Docker基础入门与环境配置指南
    本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ... [详细]
  • selenium通过JS语法操作页面元素
    做过web测试的小伙伴们都知道,web元素现在很多是JS写的,那么既然是JS写的,可以通过JS语言去操作页面,来帮助我们操作一些selenium不能覆盖的功能。问题来了我们能否通过 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
  • 本文详细介绍了个人电脑的组装流程,从基础的机箱准备到复杂的系统安装,每一步都提供了详细的指导,旨在帮助DIY爱好者顺利完成自己的电脑组装。 ... [详细]
  • 本文探讨了互联网服务提供商(ISP)如何可能篡改或插入用户请求的数据流,并提供了有效的技术手段来防止此类劫持行为,确保网络环境的安全与纯净。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • Windows Phone 弹出窗口实现方案
    在当前版本的 Silverlight for Windows Phone 中,由于缺乏对 ChildWindow 的支持,开发者需要采用其他方法来实现弹出窗口的功能。本文将探讨几种有效的解决方案。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
author-avatar
mobiledu2502875063
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有