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

我的机子是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. 网络编程socket、udp

    PS:主机字节顺序,个位在低字节上 计算机本身不能通讯,使通过在同一主机或者不同主机内的软件进行数据传输. 套接字socket:套接字socket可以参照文件指针来理解,文件指针是表示对文件打开进行某 ...

  2. 个人理解的int数组和char数组

    char数组中不论是一维还是二维的,在程序执行时每一块的分离依据都是以提供的起始地址到'\0'为一个处理的字符串.所以关于char[]的函数都是只提供相应起始地址作为形参就可以. char[]互相交换 ...

  3. 浅尝辄止之MongoDB

    1 简介 MongoDB是一个介于关系数据库和非关系数据库之间的产品,基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储 解决方案.MongoDB将数据存储为一个文档,数据结构由键 ...

  4. html部分常用标签的含义及作用

    1.a 超链接 <a> 标签定义超链接,用于从一张页面链接到另一张页面.<a> 标签中必须提供 href 属性或 name 属性,它指示链接的目标. 例如:点击 百度一下 跳转 ...

  5. POJ2456--Aggressive cows(Binary Search) unsolved

    Description Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stal ...

  6. Hdu2819 Swap

    Swap Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  7. Android-Java单例模式

    今天我们来说说一个非常常用的模式,单例模式,单例模式让某个类中有自己的实例,而且只实例化一次,避免重复实例化,单例模式让某个类提供了全局唯一访问点,如果某个类被其他对象频繁使用,就可以考虑单例模式,以 ...

  8. MySQL5.7Gtid主从复制总是遇到日志被清等出现无法正常主从复制

    最近最是在MySQL5.7上的的gtid主从复制问题总是遇上下面问题: Last_Error: Coordinator stopped because there were error(s) in t ...

  9. Word 如何实现表格快速一分为二

    将光标定位在分断处,按快捷键“Ctrl+Shift+Enter“

  10. python操作excel及json

    有一个存着学生成绩的文件:stuscore.txt,里面存的是json串,json串读起来特别不直观,需要你写代码把它都写到excel中,并计算出总分和平均分,json格式如下: { ":[ ...