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

我的机子是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. C#-委派和事件

    委派代表一个方法.当不知道后面的方法名称时,可用委派先声明,待使用方法时,再在委派实例化时写入方法名称. 先声明, public delegate int delegateClassName (参数列 ...

  2. Javaweb异常提示信息统一处理

    Java异常封装(自己定义错误码和描述,附源码) 2016年01月29日 22:30:54 小宝鸽 阅读数:23262 标签: java异常 更多 个人分类: Java基础 所属专栏: Java工作实 ...

  3. hdu 3015

    这个题给你一堆树,每棵树的位置x和高度h都给你 f[i]代表这棵树的位置排名,s[i]代表这棵树的高度排名 问你任意两棵树的(f[i] - f[j])*min(s[i],s[j])和 (f[i]-f[ ...

  4. TTL与CMOS门电路

    个人观点总结 对TTL和CMOS门电路的认识: 1.构成 TTL集成电路一般都是有三极管(或二极管)和电阻.电容构成,其中三极管(二极管)是作为主要的开关器件 CMOS集成电路一般是由场效应管和电阻. ...

  5. CentOS ntp同步

    新装的CentOS系统服务器可能设置了错误的,需要调整时区并调整时间. 如下是CentOS系统使用NTP来从一个时间服务器同步 把当前时区调整为上海就是+8区,想改其他时区也可以去看看/usr/sha ...

  6. Notes for Apue —— chapter 4 Files and Directories(文件和目录)

    4.1 Introduction 4.2 stat, fstat, fstatat, and lstat Functions The lstat function is similar to stat ...

  7. [C# 面试总结]9个点如何画10条线

    问题描述 9个点画10条直线,要求每条直线上至少3个点,相信这道理题目很多朋友在面试的时候都遇到过的(同时自己在面试的时候也遇到过),所以这里记录下来以备复习. 解决方法1:

  8. 一、winForm-DataGridView操作——控件绑定事件的两种方法

    在winForm窗体中绑定(注册)事件的方法有两种: 一.绑定事件 双击控件,即进入.cs的代码编辑页面,会出现 类似于“ private void 控件名称_Click(object sender, ...

  9. WCF加密传输数据,b并且用户名+密码验证

    在前2个文章的基础上,继续增加对client 端增加username+password的验证 host增加类Validator,需要添加引用 using System.IdentityModel.Se ...

  10. [学习笔记]后缀自动机SAM

    好抽象啊,早上看了两个多小时才看懂,\(\%\%\%Fading\) 早就懂了 讲解就算了吧--可以去看看其他人的博客 1.[模板]后缀自动机 \(siz\) 为该串出现的次数,\(l\) 为子串长度 ...