本文为作者原创,允许转载,但必须注明原文地址: https://www.cnblogs.com/byronxie/p/9949789.html

动机

最近在自学MIT6.828 Operating System Engineering, 这门课程的代码是针对Linux系统(Ubuntu)的。

我有一台WIN10平板电脑,基本信息如下:

  • 型号是酷比魔方KNOTE8
  • 处理器是Intel Core m3-7Y30 CPU @1.00GHz 1.61GHz
  • RAM 8.00GB

学习编程,必须要动手练习。为了让MIT6.828的课程的代码跑起来,我先后:

  • 先装了一个虚拟机 Virtual Box, 这个虚拟机是免费的,但是速度太慢了。我的平板电脑是支持触屏的,但Virtual Box对触屏支持很差。速度慢+体验差,所以我决定放弃虚拟机。
  • 在WIN10上安装Cywin,模拟Linux环境。结果编译MIT6.828中的代码时一直报错缺少一些依赖的库。这个问题很难修复,所以就放弃了。
  • 为了速度快+体验好,我决定装WIN10+Ubuntu双系统。

手边只有一个平板电脑,没有U盘,光盘,所以计划是直接从硬盘安装Ubuntu操作系统。

网上有相关资料,但很零散,所以我就写一篇完整的,希望可以帮助有同样需求的人,可以少走一些弯路。

适用

下面介绍的WIN10+Ubuntu双系统安装教程适用于下面情况:

1. 电脑中已经有一个Windows操作系统

虽然我自己是WIN10操作系统,但对WIN8, WIN7应该也适用。

2. 你电脑硬盘的分区是 GPT分区,非MBR分区。

如果不知道如何查看电脑硬盘是GPT分区还是MBR分区,参照[2]

如果你硬盘分区格式是MBR,恭喜你,你可以通过EasyBCD轻松地安装双系统,建议你到百度搜索相关教程。EasyBCD是免费的哦

3. 电脑的启动方式是 UEFI,而非传统的BIOS模式

如果你的电脑是传统的BIOS启动方式,恭喜你,你可以通过EasyBCD轻松地安装双系统.

4. 你想直接通过硬盘安装 (你电脑不支持,或者你不想通过U盘、光盘安装)

如果上面的条件你都满足,那么下面的教程应该适合你。

安装概览

我怎么折腾的过程就不分享了,直接上成功的经验吧。

在开始具体一步步操作之前,先大概介绍一下安装的过程。

1. 压缩磁盘,得到一个可安装Ubuntu的free space分区(黑色)

2. 在free space分区中新建一个200M左右的分区(本后面将此分区起名为 MY_UEFI),用于存放Grub 2启动文件

3. 准备Ubuntu镜像安装文件 (文件类型位iso, 比如 ubuntu-16.04.5-desktop-i386.iso)。本教程假设镜像文件在C盘根目录

4. 下载Grub 2,生成能被EFI识别、加载的Grub 2镜像文件 (使用Grub 2自带的工具 grub-mkimage.exe生成镜像文件)

5. 在盘MY_UEFI的根目录创一个EFI文件夹,拷贝步骤4创建的相关文件到EFI文件夹。

6. 重启系统,按快捷键进入启动选项,进入 Grub 2界面,在Grub 2命令行中获得镜像文件所在的gpt分区。 (注: C盘不一定就对应gpt1哦,最好在grub命令行得到每个磁盘分区的gpt号。当然也可以瞎猜,一个个试)

7. 获得iso文件所在磁盘分区的gpt号之后,重启系统,进入Windows系统。添加Ubuntu镜像文件作为一个入口点到Grub 2的启动配置文件中

8. 重启系统,进入Grub 2,启动Ubuntu并安装

10. 安装完成Ubuntu后,如果Ubuntu最后安装Grub 2失败,需要重新进入Windows,修改Grub 2的 配置文件,使它能正常引导新安装的Ubuntu系统启动。

如果一切顺利,就可以开始享受Ubuntu啦!

重要提醒:

安装双系统有风险,操作不当可能导致原来系统、重要数据被擦除,电脑不能启动成砖头。所以建议多看,有很大把握再慢慢操作,一定要慢!!

下面就是我冒然操作导致我的KNOTE 8成砖头的教训。

能被UEFI启动的Grub 2镜像文件是由`grub-mkimage.exe`生成的,`grub-mkimage.exe`的格式是 `grub-mkimage.exe [OPTION...] [OPTION]... [MODULES]`,我随意改了《【Grub2】UEFI添加grub2引导》[9]中的命令,把

`grub-mkimage.exe -c ./x86_64-efi.cfg -p /EFI/grub -o ./bootx64.efi -O x86_64-efi -d ./x86_64-efi part_gpt part_msdos disk fat exfat ext2 ntfs xfs appleldr hfs iso9660 normal search_fs_file configfile linux linux16 chain loopback echo efi_gop efi_uga video_bochs video_cirrus file gfxmenu gfxterm gfxterm_background gfxterm_menu halt reboot help jpeg ls png true`

中的后半部分[MODULES]

`part_gpt part_msdos disk fat exfat ext2 ntfs xfs appleldr hfs iso9660 normal search_fs_file configfile linux linux16 chain loopback echo efi_gop efi_uga video_bochs video_cirrus file gfxmenu gfxterm gfxterm_background gfxterm_menu halt reboot help jpeg ls png true`

都删掉了,导致Grub 2识别不了硬盘格式等,直接进入Grub rescue模式后,我只有按电源键强制关机重启,然后电脑就像抽了一样,在开机时按ESC、F7、DEL键都没反应,直接再次进入Grub rescue模式,此时的电脑就成砖头了,就像下图(我把BIOS设置中的QIEUT BOOT关闭了,所以就不显示酷比魔方图标,而是显示Megatrends信息)。

如果你遇到同样问题,建议你通过Type-C接口外接键盘试试,或者拆开机器,取下固态硬盘开机后开机,让UEFI程序重置一下,接着插入固态硬盘,机器又能正常启动进入Windows了。

我是通过后一种方式解决的,同时附上固态硬盘的位置:

建议:保持 Windows Boot Manager 为第一个默认启动选项,至少在KNOTE8上这样设置。

在通过Grub 2安装Ubuntu成功前,不要通过EasyUEFI工具、BIOS等将Grub 2设置为第一个默认入口至,少在酷比魔方KNOTE8上不要这样设置。


具体安装步骤

1. 关闭电源选项中的 启用快速启动(推荐),如下图

2. 压缩磁盘

2.1 打开 文件资源管理器,鼠标右击 此电脑,鼠标点击 管理

2.2 在弹出的 计算机管理 界面中,点击左边列表中的 存储->磁盘管理

选择一个剩余空间比较多的磁盘,鼠标右击,点击 压缩卷,如下图

2.3 在 可用压缩空间量(MB)(E) 中输入你想为 Ubuntu 系统分配的磁盘空间, 然后点击 压缩

4.4 得到一个 未利用 分区(黑色)

第一步就算完成了

3.  新建一个分区存放Grub 2的启动文件

在free space分区中新建一个200M左右的分区(本后面将此分区叫做 MY_UEFI),后面用于存放Grub 2启动文件。单独存放启动文件,避免损坏。损坏可能电脑就不能启动了。

3.1 鼠标右击步骤2创建的 未分配空间

3.2 在 简单卷大小(MB)(S) 中输入要为Grub 2启动文件分配的大小,本教程设置为 200 MB

3.3 本教程中把 这个分区取名为 MY_UEFI

4. 准备 Ubuntu 镜像安装文件

可以去Ubuntu官网[7]下载。

我下载了一个32位16.0.4LTS版本。

5. 下载Grub 2,生成能引导Grub 2启动的EFI文件

5.1 可以通过Grub 2官网[8]下载,可以通过ftp或者git下载。

下载到本地后,进入Grub 2文件夹,我的在 C:\grub\grub-2.02-for-windows

下面的操作步骤参考自 《【Grub2】UEFI添加grub2引导》[9],下面以64位电脑为例(不是要安装的操作系统的位数)。如果下面64位的方法不行,可以参考[9]中方法按32位生成一个启动文件试试。

5.2 打开 CMD 命令行,通过下面命令切换到 Grub 2所在文件夹

cd /D C:\grub\grub-2.02-for-windows

5.3 生成配置文件

在grub-2.02-for-windows当前目录下新建一个配置文件,因为是64的,所以配置文件命名为x86_64-eif.cfg(可以先创建一个 txt 文件,然后把后缀从txt改为cfg即可)。文件内容如下:

search --file /EFI/grub/x64.cfg --set root
set prefix=($root)/EFI/grub
configfile ($root)/EFI/grub/x64.cfg

第一行: # The line start with # is one comment # 查找含有 /EFI/grub/x64.cfg的分区,并将分区号赋给root

第二行: 设置变量 prefix

第三行: 加载一个配置文件,读取配置文件中的 entry point(操作系统入口),并在启动目录中显示。x64.cfg就是我们的启动目录配置文件,待会儿我们会创建

如果对上面每行的命令想深入了解,可以到Grub 2[10]官网查看官方文档。

5.4 生成引导Grub 2启动的EFI文件

grub-mkimage.exe -c ./x86_64-efi.cfg -p /EFI/grub -o ./bootx64.efi -O x86_64-efi -d ./x86_64-efi part_gpt part_msdos disk fat exfat ext2 ntfs xfs appleldr hfs iso9660 normal search_fs_file configfile linux linux16 chain loopback echo efi_gop efi_uga video_bochs video_cirrus file gfxmenu gfxterm gfxterm_background gfxterm_menu halt reboot help jpeg ls png true

`grub-mkimage.exe`的作用是生产一个可启动的GRUB镜像文件,这个镜像文件就是UEFI可以启动的OS Loader。

`grub-mkimage.exe`的语法是:

grub-mkimage.exe [OPTION...] [OPTION]... [MODULES]

上述命令行中的前半部分 `grub-mkimage.exe -c ./x86_64-efi.cfg -p /EFI/grub -o ./bootx64.efi -O x86_64-efi -d ./x86_64-efi` 是Grub 2的[OPTION],比如 `-o ./bootx64.efi` 中的 `-o`后面接的就是生成的Grub 2的EFI启动文件。

上述命令的后半部分’(从`part_gpt `到结尾的`true`),都是我们将要用到的Grub 2的模块。这些模块存放在文件夹`x86_64-efi`下面,比如第一个`part_gpt`就对应文件夹`x86_64-efi`下面的`part_gpt.mod`。

注意:不要随意删除后部分中的模块!! 比如,如果删除 `gpt_part`模块,Grub 2就不能识别GPT分区,然后报错,Grub 2就会进入 Grub rescue模式。如果启动模式设置有问题,就算重启也会卡在Grub rescue模式,换句话说,电脑就成砖头了!!

如果对上述命令不懂,可以输入 `grub-mkimage.exe –help` 查看帮助文档,和Grub 2的官方文档。

5.5 在C盘根目录创建一个文件夹 EFI,最终的文件夹结构如下。

/EFI
├───boot│  bootx64.efi
|
|
└───grub│  x64.cfg
    │  unicode.pf2├───locale├───themes└───x86_64-efi

将5.4中生成的bootx64.efi文件拷贝指boot目录下。

同时将`grub-2.02-for-windows`自带的文件夹 locale, theme和x86_64-efi和文件unicode.pf2拷贝到grub文件夹中。

5.6 创建Grub 2入口配置文件(启动列表)

现在的入口文件只是一个框架,等我们在Grub 2命令行中查到Windows和Ubuntu ISO文件所在的gpt分区号,在回来添加。

在grub文件夹夹中创建 x64.cfg文件,文件内容如下。

if loadfont /boot/grub/unicode.pf2 ; thenset gfxmode=autoinsmod efi_gopinsmod efi_ugainsmod gfxtermterminal_output gfxterm
fi

#default select menu index
set default=0

#timeout
set timeout_style=menu
set timeout=5

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry “-------------------” –class ubuntu –class os{
set root=’(hd0,gpt1)’
}

menuentry “reboot” –class windows –class os{
insmod reboot
reboot
}

menuentry “halt” –class windows –class os{
insmod halt
halt
}

5.7 重启系统,在出现启动画面时按F7(不同厂商的快捷键可能会有差异)进入启动选项,如下图

“Windows Boot Manager”是windows的启动选项;“UEFI OS”是我们新加的Grub 2的启动选项。

5.8 选择“UEFI OS”,进入Grub 2界面, 如下图

屏幕底部的提示,按e可以编辑启动选项,按c进入Grub 2 命令行(Command line).

在配置Grub 2入口配置文件(x64.cfg),配置文件中需要指定操作系统所在的GPT分区号 (格式为 (hd0, gpt1))。同样是C盘,在Windows,Grub2,Linux下的GPT编号可能都不一样,所以最好在Grub 2中查看gpt分区号。

所以按c,进入命令行格式

5.9 进入命令行后,输入 ls –a -h查看分区信息

在本例子中,我的C盘(名称是Windows)在(hd0,gpt3),我的Grub 2启动文件(名称是 MY_UEFI)在(hd0,gpt4)。

此时最好拍个照,后面会用到。

5.10 输入 reboot重启,正常启动,进入Windows系统

6. 在Grub2入口配置文件x64.cfg中新加一个启动项:Ubuntu ISO镜像文件

下面是新加的启动项:

# install Ubuntu from .iso file
menuentry “install ubuntu ISO” –class ubuntu –class os {
insmod ntfs
insmod loopback
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> In my computer, Ubuntu ISO file is stored in (hd0, gpt3)</span>
set root=<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">(hd0,gpt3)</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> In this tutor, iso file is stored under C:/</span>
<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> The / before ubuntu_i386.iso is mandatory!!!</span>
set isofile=/<span style="color: rgba(0, 0, 0, 1)">ubuntu_i386.iso
loopback loop $isofile
linux    (loop)</span>/casper/vmlinuz  boot=casper iso-scan/filename=<span style="color: rgba(0, 0, 0, 1)">$isofile
initrd    (loop)</span>/casper/<span style="color: rgba(0, 0, 0, 1)">initrd

}

7. 重启电脑,开始装Linux

7.1 重启系统,按F7(酷比魔方是F7,其他电脑可能会有差异)进入启动选项。选择 UEFI OS,参照步骤5.7

7.2 在Grub 2启动列表中,选择 install ubuntu ISO

7.3 然后会进入Ubuntu桌面,首先卸载挂载的ISO文件

按键盘 CTRL+ALT+T打开命令行,输入sudo umount –l /isodevice卸载ISO文件。

如果想确认是否真的卸载成功,可以输入 ls /查看。

7.4 双击桌面的 Instal Ubuntu xxx(xxx会根据你的版本而不同),开始安装Ubuntu

7.5 前3个页面我都保持了默认,这三个页面别是: Welcome, Wireless, Preparing to install Ubuntu

  

下面的步骤一定要小心,关系到双系统安装的成败,而且一不小心,还可能把原来的Windows系统弄坏。

7.6 Installation type  选择 “Something else”

7.7 把Ubuntu安装到步骤的 free space中,在安装之前,需要将free space分区并格式化。

在本教程中,只分了两个分区。

  • Swap area : 约7G
  • Ubuntu系统分区: 约13G

7.7.1 点击“+”号新加分区。

7.7.2 新建7G左右的Swap area,

7.7.3 新建13G左右文件分区,挂载在 根目录 /下:

7.7.4 将Ubuntu的Bootloader安装到新建的13G左右的那个分区。

注意:不要保持默认值。默认值是把bootloader安装到硬盘,这可能坏损坏硬盘原有的Windows的启动。

7.8 选择时区

7.9 选择键盘类型

7.10 设置用户名密码

7.11 然后安装。

如果最后显示 Grub 安装失败,没关系,此时Ubuntu已经安装完成,只是bootloader安装失败。我们待会可以在Grub 2中添加Ubuntu引导,就能正常启动Ubuntu了。

8. 正常重启后进入Windows,在x64.cfg中添加 Windows和Linux启动项

重启进入Windows,编辑x64.cfg文件,添加Ubuntu和Windows入口,如下。如果你不确定新安装的Ubuntu所在分区的gpt号码,可以进入Grub 2命令行查看(参考5.8-5.9)。

menuentry “Ubuntu-16.04.5” {
insmod ext2
    # Which gpt is located needs you to check firstly
set root=’(hd0,gpt9)’
linux /vmlinuz ro root=/dev/sda9
initrd /initrd.img
echo “Start Ubuntu-16.04.5”
}

menuentry “WIN10” –class windows –class os {
insmod ntfs
set root=’(hd0,gpt1)’

clear
echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Start Windows</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
chainloader </span>/EFI/Microsoft/Boot/<span style="color: rgba(0, 0, 0, 1)">bootmgfw.efi

}

9. 重启进入新安装的Ubuntu

重启电脑,按F7,选择进入Grub 2引导,能看到下面入口。如果你不想在看到 install linux ISO入口,可以在x64.cfg中用 # 把相关的行注释掉(建议注释掉,下次有需要,直接去掉#又能看到了,不用再到网上查找一边)

最后秀一下Ubuntu的登陆界面:

后问

这里的问题算是一些题外话,所以卸载最后,如果感兴趣,可以看看。

因为涉及到更深的技术,个人能力有限,如果有错误,欢迎指出。

UEFI和传统BIOS启动有什么差别?

这里不深入,只谈这两者在重装系统方面的差异。

传统的BIOS启动顺序是:

开机->BIOS初始化 –> BIOS自检 –> BIOS 加载磁盘第一个扇区(只有512KB) ,然后BIOS就不管了,将控制权交给第一个扇区中的程序。第一个扇区512KB一般叫做也叫做MBR[5],这个MBR会进一步加载另一个程序(可能是另一个程序,比如EasyBCD,Grub 2,也可能是操作系统)。

UEFI的启动顺序是:

开机 –> UEFI初始化 –> 找到特定分区中的UEFI引导文件 –> 根据UEFI引导文件引导另一个程序

UEFI第一个好处是,摆脱了第一个扇区的限制。

图 UEFI的启动顺序 (来自UEFI Specification Version 2.5[6]中图2 页17)

下面是UEFI规范中的原话(UEFI Specification Version 2.5[6] 页17):

“UEFI allows the consolidation of boot menus from the OS loader and platform firmware into a single platform firmware menu. These platform firmware menus will allow the selection of any UEFI OS loader from any partition on any boot medium that is supported by UEFI boot  services. An UEFI OS loader can support multiple options that can appear on the user interface. It is also possible to include legacy boot options, such as booting from the A: or C: drive in the platform firmware boot menus.
UEFI supports booting from media that contain an UEFI OS loader or an UEFI-defined System Partition. An UEFI-defined System Partition is required by UEFI to boot from a block device. UEFI does not require any change to the first sector of a partition, so it is possible to build media  that will boot on both legacy architectures and UEFI platforms.”

里面有几个概念,

OS loader: OS代表操作系统, OS loader就是操作系统加载应用,比如 Grub 2, EasyBCD(可惜EasyBCD最新版本2.3仍然不支持UEFI)

platform firmware: 结合图1理解,这里应该指主板的固件。firmware menu应该指在开机时按 ESC、F7看到的启动目录(具体按哪一个键不同厂商有差别)。

第一段的话是说UEFI可以吧OS loader和主板固件的启动项目合并在一起,呈现给用户。举个例子来说:

  • 对于传统的BIOS启动,在电脑刚开机时,按F7进入启动选项(这里假设为F7),我们只能选择从硬盘启动、从U盘启动或者从光盘启动。

就算此时硬盘内装了多个操作系统,或者有多个OS loader(比如一个Windows自带的loader,另一个我们自己安装的Grub 2),我们也只有一个选项,从硬盘启动。

如果选择从此硬盘启动,BIOS会加载此硬盘第一个扇区(MBR)指内存,然后将控制器转交给此扇区内的应用。

图 传统BIOS启动的启动选项

  • UEFI启动: UEFI比BIOS厉害多了,会把硬盘的所有分区都遍历一遍,找出可能的OS Loader,然后直接列在启动列表里。就比如下图:

第二段第一句话“UEFI supports booting from media that contain an UEFI OS loader or an UEFI-defined System Partition. “,给我的感觉时,UEFI也可以不从OS Loader启动,而从一个UEFI定义的系统分区启动,允许每个OEM厂商实现上的差异。值得庆幸的是,对于我的平板KNOTE8,UEFI会遍历硬盘所有分区,找到所有的OS Loader,而不是只从 UEFI定义的系统分区启动。酷比魔方还是很给力的!

我也很好奇什么是UEFI-Defined System Partition? 所以研究了一下标准。

UEFI-Defined System Partition是一个FAT格式,对于硬盘是FAT32格式,对于移动设备是FAT12、或FAT16格式。同时为了和一般的FAT格式区分开,用于UEFI的FAT格式有一个特殊的GUID类型:”C12A7328-F81F-11D2-BA4B-00A0C93EC93B“[1] [6]P123,一般的FAT格式的GUID类型为”EBD0A0A2-B9E5-4433-87C0-68B6B72699C7“。

下面是UEFI规范中的原话(UEFI Specification Version 2.5[6] 页536)

”The file system supported by the Extensible Firmware Interface is based on the FAT file system.

EFI encompasses the use of FAT32 for a system partition, and FAT12 or FAT16 for removable media. The FAT32 system partition is identified by an OSType value other than that used to identify previous versions of FAT. This unique partition type distinguishes an EFI defined file system from a normal FAT file system.“

上段话中的“OSType value”应该就是指特殊的GUID类型。

参考

[1] GPT(GUID Partition Table): https://en.wikipedia.org/wiki/GUID_Partition_Table

[2] 如何查看电脑硬盘是gpt分区还是MBR分区

[3] ESP(EFI System Partition): https://en.wikipedia.org/wiki/EFI_system_partition

[4] UFEI (Unified Extensible Firmware Interface): https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface

[5] MBR主引导扇区解析

[6] “UEFI Specification Version 2.5” (PDF).

[7] Ubuntu桌面操作系统: https://cn.ubuntu.com/desktop/

[8] Grub 2官网下载链接: https://www.gnu.org/software/grub/grub-download.html

[9] 【Grub2】UEFI添加grub2引导: https://blog.csdn.net/xinlan3618/article/details/79862667

[10] Grub 2官网文档: https://www.gnu.org/software/grub/grub-documentation.html]

【教程】在UEFI启动方式下,通过GRUB2引导,直接从硬盘ISO文件安装Windows10和Ubuntu双系统相关推荐

  1. win10启动引导linux系统安装教程,【教程】在UEFI启动方式下,经过GRUB2引导,直接从硬盘ISO文件安装Windows10和Ubuntu双系统...

    动机 最近在自学MIT6.828 Operating System Engineering, 这门课程的代码是针对Linux系统(Ubuntu)的.linux 我有一台WIN10平板电脑,基本信息以下 ...

  2. 【教程】在UEFI启动方式下,通过GRUB2引导,直接从硬盘ISO文件安装Windows10和Ubuntu双系统...

    本文为作者原创,允许转载,但必须注明原文地址: https://www.cnblogs.com/byronxie/p/9949789.html 动机 最近在自学MIT6.828 Operating S ...

  3. 亲测!UEFI启动模式下,电脑安装win10和Ubuntu双系统

    作为刚刚入门编程领域的新手,刚到实验室就听说以后研究方向涉及机器学习.深度学习等,需要使用Linux系统,神经病一样的兴奋了起来,正好又在前段时间换了新电脑,就动手操作起来,但是果然如网上一些攻略所描 ...

  4. nvme固态必须uefi启动吗_UEFI启动安装Win10和Ubuntu双系统

    安装双系统的时候,网上教程要么太老,要么太杂.我们剥丝抽茧,整理总结了以下教程. 现在的大多数笔记本都标配了SSD和HDD,一般都是SSD预装WIN10,且为UEFI启动.我们在安装UBuntu双系统 ...

  5. 安装Windows、Ubuntu双系统超简单实用教程

    目录 一.版本选择 二.安装步骤 1.查看电脑配置 2.制作系统盘 3.在windows下创建空白分区 4.安装系统 Hey, guys!相信很多小伙伴在安装Windows.Ubuntu双系统过程中遇 ...

  6. 安装windows与Ubuntu双系统,并使用GRUB启动引导器

    安装windows与Ubuntu双系统,并使用GRUB启动引导器 windows系统安装 1.Windows 10 下载 个人推荐在http://www.msdn.hk/6/719/ 下载Window ...

  7. 浪潮服务器改uefi引导,关于windows系统的uefi启动方式,两种修复引导的方法

    uefi引导修复工具修复方法: 一.用bcbboot自动修复 我们建议大家启动64位8PE,用它带的bcdboot来修复. (一)指定esp分区修复 环境为64位8PE,bios/uefi启动进入下都 ...

  8. win10下安装、卸载ubuntu双系统

    Windows.Ubuntu双系统正确卸载Ubuntu系统 先判断启动方式,以管理员身份打开cmd或者power shell,输入bcdedit,找到path那一行,如果是winload.efi就是u ...

  9. Windows系统下将MAC系统的可执行dmg文件转换为ISO文件 安装到虚拟机的MAC系统上

    一:Windows系统下将MAC系统的可执行dmg文件转换为ISO文件 1. Windows系统下载并安装UltraISO软件:UltraISO链接 2. 打开文件,选中下载好的dmg文件,导入: 3 ...

最新文章

  1. SAP S4HANA 实战LTMC - 打响了第一炮
  2. 分页技巧_实现第一个分页功能(回复列表中的分页)
  3. 一文详解微服务架构的数据设计
  4. (转)Win10下PostgreSQL10与PostGIS安装
  5. 一、数据类型和运算符——3-数据类型
  6. Good, then we can start
  7. MapReduce Design Patterns(6 、Job 链)(十二)
  8. 【TWVRP】基于matlab遗传和模拟退火算法求解带时间窗的取送货问题【含Matlab源码 1139期】
  9. python写通讯录_Python—— Django 通讯录制作(一)
  10. java poi excel 图表_Java用POI实现根据Excel表格模板生成新的Excel并实现数据输出
  11. 大学计算机科技论文格式,大学科技论文范文3000字_优秀论文范文3000字_论文范文参考3000字...
  12. ES6JS笔记以及部分运行问题记录
  13. NOD32升级ID获取器For流星无语
  14. 群晖搭建discuz论坛
  15. 不用PyScript,网页端运行的Python编辑器
  16. Dynamics 365 for Phone 使用Xrm.Device.captureImage获取照片
  17. linux系统下键盘按键的重新映射——xmodmap工具和xev工具
  18. 计算机新生导论感言,大学生感言与寄语新生
  19. 内嵌资源html,go 1.16 embed 实现资源文件(html, css, js等)内嵌
  20. LinearLayout布局添加下划线

热门文章

  1. 【算法练习】83.n 的第 k 个因子——枚举
  2. 大转转FE超搞事团建实录
  3. 记录一下自己的跑步数据
  4. 程序员眼中的盗版软件问题:砸的是自己的饭碗
  5. Android Dialer,Mms(1),高并发系统基础篇
  6. 【音频处理】Melodyne 导入音频 ( 使用 Adobe Audition 录制音频 | 在 Melodyne 中打开录制的音频 | Melodyne 对音频素材的操作 | 音频分析算法 )
  7. 元路径metapath
  8. MariaDB允许远程连接
  9. 宁波工程学院 OJ [1347] 老虎满坡找灰兔
  10. 为什么一线大厂面试必问redis,有啥好问的?