win10 UEFI EFI GPT 添加GRUB2 添加ISO引导 硬盘安装LINUX 安装UBUNTU

我的梦境 提交于 2020-02-25 21:10:51

改进原文, 原文有BUG:【教程】在UEFI启动方式下,通过GRUB2引导,直接从硬盘ISO文件安装Windows10和Ubuntu双系统  (  原文地址: https://www.cnblogs.com/byronxie/p/9949789.html )

原文BUG1: grub会提示找不到search命令

 

动机

电脑现有系统win10,想在F盘安装linux 。开机可选择一个系统。

WIN10电脑,基本信息如下:

  • 型号是联想, 处理器是Intel i7 , RAM 8.00GB

 试过这些:

  • 先装了一个虚拟机 Virtual Box, 这个虚拟机是免费的,有windows版本,安装后运行不流畅,还经常出问题,所以不用了。
  • 在WIN10上安装Cywin,模拟Linux环境。结果使用时一直报错缺少一些依赖的库。这个问题很难修复,所以就放弃了。
  • 安装了win10自带的ubuntu,但是出现很多问题,不能满足要求。
  • 为了速度快+体验好,我决定装WIN10+Linux双系统。

不用U盘,光盘,计划直接从硬盘安装Ubuntu操作系统。

U盘安装 https://wiki.archlinux.org/index.php/USB_flash_installation_media

网上有相关资料,但很零散,或者有BUG,所以我就改进一下,希望可以帮助有同样需求的人。

适用

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

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

     对WIN8, WIN7应该也适用。

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

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

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

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

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

概述

先大概介绍一下:

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

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

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

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

5. 在F盘的根目录创一个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啦!

重要提醒:

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

 

以管理员运行cmd, 输入 notepad bcd.cmd

bcdedit %*

 

 

先写一半:

生成 grub2.efi :

 

  1. find ./boot | cpio -o -H newc > ./memdisk.cpio
  2. grub-mkimage -m memdisk.cpio -d ./x86_64-efi -p "(memdisk)/boot/grub" -c config.cfg -o grub2.efi -O x86_64-efi affs afs all_video appleldr bfs bitmap bitmap_scale blocklist boot btrfs cat chain cmp configfile cpio crc date datehook datetime disk echo efi_gop efi_uga efifwsetup elf eval exfat exfctest ext2 extcmd fat file font fshelp gettext gfxmenu gfxterm gfxterm_background gfxterm_menu gptsync gzio halt hashsum help hexdump hfs hfsplus hfspluscomp iso9660 jfs jpeg linux loadbios loadenv loopback ls lsacpi lsefi lsefimmap lsefisystab lsmmap lspci lvm lzopio memdisk minicmd multiboot multiboot2 newc normal ntfs part_apple part_bsd part_gpt part_msdos parttool png probe procfs random read reboot regexp reiserfs search search_fs_file search_fs_uuid search_label sleep squash4 tar terminal terminfo test tga time true udf video video_bochs video_cirrus video_colors video_fb videoinfo xfs xnu xzio zfs
grub-mkimage.exe -c ./x86_64-efi.cfg -p /EFI/grub -o ./grub2.efi -O x86_64-efi -d ./x86_64-efi part_gpt part_msdos disk fat exfat ext2 ntfs xfs appleldr hfs iso9660 normal search 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

 

未完待续

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!