这个周末就安装了个系统,本以为一个小时就能搞定,没想到花费了将近一天。

我的机子是6G内存、500G硬盘,原装系统是Windows 7,现在想换成Windows 8.1,于是下载了64位的Windows 8.1 ISO镜像文件,用DaemonTools打开,打开后如果直接点击setup.exe那么只会在你现在的系统上再安装一个系统,也就是双系统,不能卸载 目前的系统(想想也只能这样,你是在目前系统环境下安装新系统,如果现有系统卸载了,新系统也就安装不了了),这不是我想要的,想想还是做个U盘启动盘再 安装吧。

1. 用UltraISO制作U盘启动盘

方法非常简单:插上U盘(事先格式化),然后在UltraISO里打开Windows 8.1的ISO镜像文件,选择“启动光盘—写入硬盘映像”即可。一张图就足以说明。

然后就等着了,这个写入的速度跟你系统和U盘都有关,反正我写了十分钟左右写好。

2. 在BIOS里将Boot启动项第一顺序改为U盘启动

做好启动盘过后就可以按照系统了,首先需要在BIOS里修改第一启动项为U盘。然后重启就开始安装过程了。可是我的这个过程是相当的纠结,下面是我安装过程中遇到的问题(我安装的是64位英文版系统),花费了很长时间才解决,因此记录下来以供参考。

问题1:Windows cannot be installed to this disk. the selected disk has an MBR partition table. On EFI system, Windows can only be installed to GPT disks.

即:Windows无法安装到这个磁盘,选中的磁盘具有MBR分区表。在EFI系统上,Windows只能安装到GPT磁盘。

要理解这个错误,首先得搞明白什么是MBR分区表,什么又是GPT磁盘?

(1)MBR和GPT是两种不同的磁盘类型,主要区别在于不同的分区结构和分区方法。GPT是近几年才出现的新型硬盘种类。

(2)GPT(Globally Unique Identifier Partition Table Format)是一种由基于 Itanium
计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与主启动记录 (MBR) 分区方法相比,GPT
具有更多的优点,因为它允许每个磁盘有多达 128 个分区,支持高达 18
千兆兆字节的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。

(3)MBR特点:支持最大卷为 2 TB (terabytes) 并且每个磁盘最多有 4 个主分区(或 3 个主分区,1 个扩展分区和无限制的逻辑驱动器);

GPT特点:支持最大卷为 18
EB (exabytes) 并且每磁盘最多有 128 个分区。与 MBR
分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT
分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。

从现在大数据趋势看,GPT磁盘将会逐渐取代MBR磁盘,老机子只支持MBR,现在买的新机子都支持GPT磁盘。

因此,从这个错误大致可以判断出我机子的原装系统是MBR分区方法,而现在要安装的系统基于UEFI模式,只能安装在GPT磁盘上,也就是我的磁盘类型不对,所以不能安装。

知道了问题原因后,解决方案也就出来了,将硬盘的类型从MBR转为GPT再安装应该是可以的。

那么如何转换为GPT磁盘呢?

Convert GPT to MBR or convert MBR to GPT without data lose - See more at: http://www.extend-partition.com/help/convert-gpt-mbr-disk.html#sthash.H22P79eK.dpuf

网络上通用的解决方案就是用系统自带的命令diskpart对硬盘重新分区,转为GPT磁盘。操作很简单,几个命令就能搞定,具体操作见后面参考文献1,2,3。这个方法的确可以解决问题,但付出的代价当然也是惨痛的:整个硬盘里的东西都会不翼而飞。当然你可以先备份磁盘再操作,但这可是件苦差事,拷来拷去既费时又费力。虽然微软官方给出的也是这个方案,但我还是想看看有没有其它的不会导致数据丢失的方法。于是就各种搜索,百度里搜“将MBR转为GPT 不丢失数据”,Google里搜“Convert
MBR to GPT  no data lose”,最终搜到了外国的

AOMEI Partition Assistant
AOMEI Partition Assistant

AOMEI Partition Assistant和国内的DiskGenius磁盘分区软件。对
于我这个“崇洋媚外”的人来说首选的当然是AOMEI Partition
Assistant了(操作见参考文献4),结果发现免费版的不能转换系统分区(即C盘),我的操作系统就是要安装在C盘啊,不转换不行。上面说只有升级
到Pro版的才行,当然要付出银子了,于是找破解版的想法就马上浮出了,不知道是外国人素质太好还是他们对这款软件不感兴趣,既然搜不到破解版的软件。罢
了,只能转向国产的DiskGenius了,也是要Pro版的才能转换,不过破解版一大堆(国产软件的好处之一吧),随便找了个按参考文献5的方法操作了
遍。当然前提是备份好了磁盘里重要的文件,正如该软件启动时的提示语“数据宝贵,请大家谨慎操作”,软件也不能保证万无一失
想懒还是不行的,而且备份磁盘也是个良好的习惯。等一切安排妥当,就开始转换磁盘了,当我点击应用按钮时,这时恐怖的事情发生了:系统蓝屏崩溃了,着实吓
了我一大跳,以为磁盘里的数据都没了,此时我也只能破罐子破摔,马上插上U盘启动盘,看这时能不能安装系统。这时发现没有那个错误提示了,而且磁盘里的东
西还在,一阵欣喜,由于我C盘剩余空间比较少了,于是就先格式化了C盘。但是在点击Next按钮时,又出现了新的问题。

--------------------------------------------------------------

更新:其实遇到这个问题根本不需要冒着数据丢失的风险转换为GPT磁盘(除非你需要),一般用户直接使用MBR磁盘就行了,那么怎么解决这个问题呢?很简单,直接将安装盘里的efi文件夹和bootmgr.efi(如果有的话)这两个删掉就行了。


问题2:We couldn't create a new partition or locate an existing one. For more information, see the Setup log files.

不能定位我的分区?这是怎么回事?DiskGenius真是不给力啊,不会是毁了我的
分区吧?我都将C盘格式化了,反正以前的系统是毁了。于是又一阵搜索,发现给出的解决方案还是那一套,用diskpart重新分区,看参考文献6微乳官方
给出的解决方案就知道了。此时我还是不死心了,于是又一个想法浮出心头:既然不能定位我的C盘分区,那么我将C盘分区删掉再重新建一个分区能不能识别呢?于是抱着死马当做活马医的心态就去做了,这时的操作很简单,不需要用命令,上面直接有这些功能,点点就是了。

新建C盘分区后(其它重要的盘没动),再点Next,这时奇迹发生了,系统开始安装了……

哎,安装这个Windows 8.1系统真是曲折多多,花费了不少时间和精力,不过安装挺快的,后面也是一帆风顺,除了C盘其它盘的资料也都还在,这才是最重要的,这告诉我们:时刻保持一颗探索的心,有想法就要去实践,不到最后关头绝不死心,不能一味全靠Baidu和Google。

3. 附参考文献

1) 用Diskpart建立GPT磁盘、分区教程

2) 怎样用Diskpart进行分区

3) Win7的diskpart硬盘分区

4)AOMEI:Convert GPT to MBR or convert MBR to GPT without data lose

5) MBR分区表淘汰进行时,教你不破坏数据将MBR转换成GPT

6) Microsoft Community:Getting

an error “Couldn't create new partition or locate existing one. For
more information, see Setup log file" error message” while trying to
install Windows 8

安装Windows 8.1过程中出现的各种问题(无损从MBR转GPT磁盘、不能定位已有分区)的更多相关文章

  1. FormatMessage与GetLastError配合使用,排查windows api调用过程中的错误

    前一段时间在学习windows api调用过程中,遇到过一些调用错误或者程序没能显示预期的结果,或者直接出现vc运行时错误. 这对新手来说是司空见惯的事,因为不太熟悉难免会出错,出错的信息如果能显示很 ...

  2. Deepin下phpunit安装,以及执行过程中所遇到的问题

    Deepin下phpunit安装,以及执行过程中所遇到的问题 安装phpunit步骤 wget https://phar.phpunit.de/phpunit.phar chmod +x phpuni ...

  3. 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程

           问题:在服务器(操作系统为Windows server 2012)上安装SQL Server 2012的过程中,安装停留在下图所示的界面上,显示”正在启用操作系统功能NetFx3”随后出 ...

  4. win10上安装ubunt18双系统过程中出现mmx64.efi not found问题

    安装Ubuntu18过程中,从u盘启动ubunt安装,出现mmx64.efi not found问题 如下图: 制作好ubunt启动盘之后在EFI/BOOT下会看到两个文件,将其中grubx64.ef ...

  5. bundler-sfm windows下编译过程中出现的错误

    一.“sysdep1.h”文件缺失 错误提示: fatal error C1083: 无法打开包括文件: “sysdep1.h”: No such file or directory 这些作为这个软件 ...

  6. AndroidStudio安装流程 以及 使用过程中出现的异常

    Android Studio2.0 教程从入门到精通Windows版 - 安装篇 Android Studio第一次启动跳不过“ downloading components”解决方案 通过hosts ...

  7. 安装K/3 Cloud过程中发现的两个新问题。

    卸载掉K/3 Cloud然后重装时出现下面的错误提示: 可能原因: 1.安装目录下的Setup.exe会检查操作系统版本.有些操作系统可能是被串改过注册信息,所以取不到版本信息(有些是因为盗版的原因) ...

  8. 【Gerrit】持续集成工具Jenkins的安装配置与使用过程中遇到的问题整理

    1.下载war包 https://jenkins.io/download/ 2.安装 java -jar jenkins.war Error: Feb 21, 2019 2:17:25 AM wins ...

  9. CentOS6.5(带图形安装)在使用过程中遇到的一些网络问题迷惑

    比如,经常会遇到这样的问题************************** [root@SourceCompiler local]# pwd/usr/local[root@SourceCompil ...

随机推荐

  1. CentOS和Ubuntu哪个好?

    CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代 ...

  2. HTML5表单新属性

    HTML5表单新属性 autofocus  自动聚焦 <input type="text" autofocus> placeholder占位文本 tel         ...

  3. Visual Studio 简单使用常识操作

    Visual Studio 简单使用个人总结   转载请注明来源:www.cnblogs.com/icmzn(后续会持续更新) 可以查看一下链接,官方关于visual studio 2010 的介绍  ...

  4. spark 中划分stage的思路

    窄依赖指父RDD的每一个分区最多被一个子RDD的分区所用,表现为 一个父RDD的分区对应于一个子RDD的分区 两个父RDD的分区对应于一个子RDD 的分区. 宽依赖指子RDD的每个分区都要依赖于父RD ...

  5. URL中文编码

    /// <summary>        /// GB2312编码        /// </summary>        /// <param name=" ...

  6. 微信小程序-button组件

    主要属性: 注:button-hover 默认为{background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;} 效果图: ml: <!--默认的but ...

  7. browsersync

    以后不需要F5了 之前实现自动刷新,是通过livereload,它需要插件比较麻烦:现在改为browsersync. BrowserSync,迅捷从免F5开始 完整选项 不止是自动刷新:默认就有 UI ...

  8. kafka eagel的使用

    sql语句eq: select * from "ke_test_topic" where "partition" in (0,1,2) limit 100 官网 ...

  9. JMS 消息队列

    1.jms  broker服务器:Broker:消息队列核心,相当于一个控制中心,负责路由消息.保存订阅和连接.消息确认和控制事务

  10. 撸.NET Core的正确姿势

    特点 案例基于刚发布的.NET Core 2.1 只需一台Linux服务器搞定一切, 全程无需自己配置dotnet环境, 需要熟悉git docker基础知识可有可无, 过了下面几个步骤,你就已经入门 ...