精华内容
下载资源
问答
  • 2021-05-15 10:29:22

    1. 有两种方式

    1.1 直接从uefi shell启动linux内核

    1.2 从uefi shell启动grub,然后再从grub启动linux内核

    2. 需要哪些东西?

    2.1 linux内核

    2.2 initrd镜像

    2.3 .nsh后缀名的启动脚本(可选,可通过手动键入命令)

    某个.nsh的内容如下:

    Image initrd=\initrd.gz root=/dev/ram0 earlycon=uart

    2.4 BOOTAA64.EFI (这是arm64的EFI固件,可选)

    注: 这些东西需要放在fat文件系统中

    3. uefi shell启动linux内核的操作过程

    3.1 进入目标分区

    Shell> fs0:

    FS0:\>

    3.2 启动linux内核

    FS0:\>boot.nsh

    4. 从uefi shell启动grub, 然后启动linux内核

    4.1 进入目标分区

    Shell> fs0:

    FS0:\>

    4.2. 进入grub

    FS0:\>BOOTAA64.EFI

    4.3 在grub中设置临时访问的根节点

    grub> root=(hd0,msdos1) (hd0,msdos1中有linux内核镜像和initrd镜像)

    4.4 启动linux内核

    grub> linux /Image initrd=/initrd.gz earlycon=uart root=(hd0,msdos1) rw rootwait

    来源:博客园

    作者:Jello

    链接:https://www.cnblogs.com/dakewei/p/11475031.html

    更多相关内容
  • Linux制作UEFI启动的系统盘U盘笔记
  • linux下添加UEFI启动

    千次阅读 2021-05-12 15:06:36
    今天突然发生了一件怪事,系统重启后没有了硬盘的uefi启动项, 吓了我一跳,我以为硬盘挂了,立即进livecd查看硬盘信息,好在一切正常.我的电脑通常会自动添加应该第一分区(esp分区)里的一些启动项, 但这次重启几次之后...

    今天突然发生了一件怪事,系统重启后没有了硬盘的uefi启动项, 吓了我一跳,我以为硬盘挂了,立即进livecd查看硬盘信息,好在一切正常.

    我的电脑通常会自动添加应该第一分区(esp分区)里的一些启动项, 但这次重启几次之后依然不能自动添加,而我又是archlinux单系统,没得用easyuefi,

    所以只能手动在linux下添加了,我没有在livecd中进行添加,而是进入硬盘中的archlinux后添加的.

    有人会疑惑,没有启动项是怎么进入系统的??

    详细的就不说了,本文主要说怎么添加uefi启动项,就只简单描述下如何在没有uefi启动项的情况下进入系统:

    进入BIOS,启动uefi的shell模式,在shell模式中找到archlinux的efi引导文件,直接回车就行了

    efibootmgr命令

    在windows下通常使用easyuefi软件来管理uefi启动项,linux下我还不知道有什么图形化的软件来管理uefi启动项,

    只知道一个efibootmgr命令,在终端中进行操作,这个命令的参数选项有:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31usage: efibootmgr [options]

    -a | --active sets bootnum active

    -A | --inactive sets bootnum inactive

    -b | --bootnum XXXX modify BootXXXX (hex)

    -B | --delete-bootnum delete bootnum (hex)

    -c | --create create new variable bootnum and add to bootorder

    -C | --create-only create new variable bootnum and do not add to bootorder

    -D | --remove-dups remove duplicate values from BootOrder

    -d | --disk disk (defaults to /dev/sda) containing loader

    -e | --edd [1|3|-1] force EDD 1.0 or 3.0 creation variables, or guess

    -E | --device num EDD 1.0 device number (defaults to 0x80)

    -g | --gpt force disk with invalid PMBR to be treated as GPT

    -i | --iface name create a netboot entry for the named interface

    -l | --loader name (defaults to \EFI\redhat\grub.efi)

    -L | --label label Boot manager display label (defaults to "Linux")

    -m | --mirror-below-4G t|f mirror memory below 4GB

    -M | --mirror-above-4G X percentage memory to mirror above 4GB

    -n | --bootnext XXXX set BootNext to XXXX (hex)

    -N | --delete-bootnext delete BootNext

    -o | --bootorder XXXX,YYYY,ZZZZ,... explicitly set BootOrder (hex)

    -O | --delete-bootorder delete BootOrder

    -p | --part part (defaults to 1) containing loader

    -q | --quiet be quiet

    -t | --timeout seconds set boot manager timeout waiting for user input.

    -T | --delete-timeout delete Timeout.

    -u | --unicode | --UCS-2 pass extra args as UCS-2 (default is ASCII)

    -v | --verbose print additional information

    -V | --version return version and exit

    -w | --write-signature write unique sig to MBR if needed

    -@ | --append-binary-args file append extra args from file (use "-" for stdin)

    -h | --help show help/usage

    看起来复杂,其实只需要用到其中几个,下面说几个常用的:

    不加任何参数表示打印当前所有的启动项和启动顺序

    -b 修改

    -B 删除

    -c 添加

    -d 指定硬盘(默认是/dev/sda)[注意这里的根目录是相对于系统的根来说的]

    -l 指定引导器(默认是\EFI\redhat\grub.efi)[注意这里的根目录是相对于你的esp分区来说的,而且用反斜杠\来表示目录级别]

    -L 启动项的名字

    使用示例

    下面说两个简单的例子:

    注意efibootmgr命令需要使用root权限!!

    添加一个名叫Arch的启动项

    背景描述:

    硬盘是/dev/sda

    esp分区被挂载到/boot/efi目录下

    esp分区中包含/EFI/arch/bootx64.efi文件

    具体添加的命令是:1efibootmgr -c -d /dev/sda -l '\EFI\arch\bootx64.efi' -L Arch

    这样就添加好了,命令的返回信息也显示已经添加完成了,还可以直接执行bootmgr命令查看.

    删除一个名叫Arch的启动项

    efibootmgr并不能通过启动项的名字来删除它,只能通过编号来删除,

    直接执行efibootmgr返回的信息中就包含了每个启动项的编号,比如:

    1

    2

    3

    4

    5

    6

    7

    8~# efibootmgr

    BootCurrent: 0000

    Timeout: 0 seconds

    BootOrder: 0000,0002,0003,0001

    Boot0000* Arch

    Boot0001* CD/DVD Drive

    Boot0002* UEFI: KingstonDataTraveler 2.0PMAP

    Boot0003* Hard Drive

    可以看到启动Boot0000就是名叫Arch的启动项,

    另外BootOrder显示的是启动项的顺序,具体修改方法就自己执行man efibootmgr命令查看吧;)

    那么删除Arch这个启动项的命令就是:

    1efibootmgr -b 0 -B

    注意命令中的0是数字0,如果是删除Boot0002的话就把数字0改为2即可

    小结

    从上面两个命令可以看出efibootmgr这个命令的参数是需要结合使用的,

    比如删除选项-B就需要结合修改选项-b

    还有其实直接执行efibootmgr -c也可以创建一个启动项,但这个启动项八成是不能用的,

    具体原因就自己man去吧~~

    展开全文
  • WIN/Linux Uefi 启动项编辑

    千次阅读 2019-11-07 17:10:59
    直接用软件EASYUEFI Linux 移除 sudo efibootmgr -b B 增加(sda7 -> sda -p 7) efibootmgr -c -d /dev/sda -p 7 -L -l \EFI<lable>\grubx64.efi 设置激活 sudo efibootmgr -b -a 设置禁用 sudo ...

    Win(需使用管理员模式)

    在这里插入图片描述
    列出
    bcdedit /export bcdbackup
    备份 -> badbackup
    copy bcdbackup bcd backup
    编辑备份文件 删除某项
    bcdedit /store bcdbackup /delete #
    确认无误,还原保存
    bcdedit /import bcdbackup /clean

    直接用软件EASYUEFI


    在这里插入图片描述

    Linux

    移除
    sudo efibootmgr -b B
    增加(sda7 -> sda -p 7)
    efibootmgr -c -d /dev/sda -p 7 -L

    展开全文
  • 简述Linux启动过程

    2021-03-07 05:55:16
    本文将简单介绍一下Linux启动过程,希望对那些安装Linux的过程中遇到了问题的朋友有些帮助声明: 本人没用过UEFI模式和GPT分区格式,所有关于这两部分的内容都是网络上找的资料,仅供参考。典型启动顺序计算机通电...

    本文将简单介绍一下Linux的启动过程,希望对那些安装Linux的过程中遇到了问题的朋友有些帮助

    声明: 本人没用过UEFI模式和GPT分区格式,所有关于这两部分的内容都是网络上找的资料,仅供参考。

    典型启动顺序

    计算机通电后,CPU开始从一个固定的地址加载代码并开始执行,这个地址就是BIOS的驱动程序所在的位置,于是BIOS的驱动开始执行。

    BIOS驱动首先进行一些自检工作,然后根据配置的启动顺序,依次尝试加载启动程序。比如配置的启动顺序是CD->网卡01->USB->硬盘。 BIOS 将先检查是否能从CD启动,如果不行,接着试着从网卡启动,再试USB盘,最后再试硬盘。

    CD,U盘和硬盘的启动都是一样的,对BIOS来说,它们都是块设备,BIOS通过硬件访问接口直接访问这些块设备(如通过IDE访问硬盘),加载固定位置的内容到内存,然后跳转到那个内存的位置开始执行,这里固定位置所存放的就是Bootloader的代码,从这个时间点开始,启动的工作就由BIOS交接到了Bootloader手中了。对大多数发行版来说,CD和U盘里面放的都是安装程序,里面用的Bootloader一般都是isolinux,而硬盘里面存放的是安装好的系统,常用的Bootloader是GRUB2,当然开源的Bootloader有很多种,并且各有各的特点.

    从网卡启动稍微有所不同,当然前提条件是网卡支持PXE启动。 下面是大概的步骤

    从网卡中加载PXE firmware到内存并执行,里面主要包含一个很小的网络驱动和TFTP client的实现

    发送UDP广播到当前局域网,向DHCP服务器要IP和NBP(Network Boot Program)的地址

    DHCP服务器收到广播后,会发送应答,里面包含分配给请求机器的IP以及NBP的所在位置

    将分配的IP应用到网卡上,然后根据收到的NBP的地址,用TFTP协议到相应的服务器上取相应的NBP文件(取文件的过程不再是广播,而是点对点的文件传输过程,所以当前网卡必须要有IP)

    开始执行取到的NBP(Linux一般使用pxelinux作为NBP)

    从上面的过程可以看出,一个PXE服务器至少包含一个DHCP server和一个TFTP server。

    以硬盘启动及GRUB2为例,接着介绍Linux的启动过程

    BIOS加载硬盘MBR中的GRUB后,启动过程就被GRUB2接管

    由于MBR里面空间很小,GRUB2只能放部分代码到里面,所以它采用了好几级的结构来加载自己,详情请点这里,总之,最后GRUB2会加载/boot/grub/下的驱动到内存中。

    GRUB2加载内核和initrd image,并启动内核。GRUB2和内核之间的协议请参考i386/boot.txt。

    内核接管整个系统后,加载/sbin/init并创建第一个用户态的进程

    init进程开始调用一系列的脚本来创建很多子进程,这些子进程负责初始化整个系统

    注意事项:

    GRUB2

    GRUB2需要加载/boot下的grub模块才能工作,所以格式化Linux分区一定要注意,如果不小心格式化了/boot所在的分区,会导致GRUB2用不了,从而启动不了任何系统。

    GRUB2同时需要加载硬盘上的Linux内核文件,所以它也需要有文件系统的驱动,当然它只需要读取文件,所以驱动很小。GRUB2已经支持所有的常见文件系统,并且完全支持LVM和RAID。

    参考:

    UEFI可以简单理解为新一代的BIOS,支持更多新的功能,当然它也向下兼容BIOS,现在新的主板都支持UEFI,只是我们BIOS叫习惯了,所以就算主板已经支持新的UEFI,我们还是把它当BIOS用。UEFI的优点请参考这里。

    BIOS和UEFI两者启动系统的方式不一样,BIOS是读取硬盘第一个扇区的MBR到内存中,然后将控制权交给MBR里的Bootloader。而UEFI是读取efi分区,如果efi分区存在且里面有启动程序的话,将控制权交给启动程序,否则和BIOS一样,读取硬盘第一个扇区的MBR到内存中,将控制权交给MBR里面的Bootloader。从这里可以看出:

    UEFI是兼容BIOS的,就是说就算主板支持UEFI,只要我们不用efi分区,主板还是按照原来BIOS的方式来启动系统

    两者只能选其一,使用efi分区里面的启动程序,或者是MBR里面的Bootloader

    那什么时候应该用UEFI呢?

    如果这台机器原来没有任何系统,那可以完全不用关心是BIOS还是UEFI,因为就算BIOS模式,Linux也可以从GPT盘启动

    如果机器上已经有了一个系统,那么就必须确保新安装的Linux和原有的系统采取同样的模式。

    如何判断原系统的模式:

    Windows 8及以上版本默认采用UEFI模式, Windows 7默认用BIOS模式

    如何以UEFI模式安装: Ubuntu

    参考:

    MBR VS GPT

    MBR格式硬盘的布局

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

    | | | | |-------------------------------|

    |MBR| 主分区1 | 主分区2 | 主分区3 | 扩展 |逻辑分区1|...|逻辑分区n |

    | | | | |-------------------------------|

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

    扩展分区是一个特殊的主分区,分区最前面包含所有逻辑分区的描述,包含大小,位置等

    由于留给MBR的空间太小,所以MBR格式的硬盘只能支持四个分区,就是我们常说的四个主分区。如果想把磁盘分成大于4个分区,就需要将其中的一个或者多个分区设置成扩展分区,然后在扩展分区里面划分逻辑分区。

    对Linux而言,可以安装在主分区和逻辑分区里面,所以怎么划分硬盘都没关系。但对于Windows而言,由于只支持安装在主分区里面,所以必须至少有一个主分区,如果我们安装Linux时不小心将磁盘全部划分成逻辑分区,则以后要安装Windows就比较麻烦,需要重新划分磁盘分区格式。

    同样由于留给MBR的空间太小,它所能表述的磁盘空间有限,只能支持小于2T的硬盘。

    GPT主要用来替换MBR,并且配合UEFI使用。 在Windows和OS X上,只支持通过UEFI方式启动GPT硬盘,而FreeBSD,Linux依然支持BIOS模式启动GPT硬盘。

    GPT的主要优点:

    支持几乎无限制的磁盘分区个数,再也不需要主分区、扩展分区和逻辑分区这些概念了

    支持超过2T的硬盘

    分区数据在磁盘的不同位置存有多份,且有CRC校验码,所以更安全

    参考:

    内核参数和initrd image

    下面是一个GRUB2配置的例子

    kernel /boot/vmlinuz-2.6.9-1.667 ro root=/dev/hda5 quiet

    initrd /boot/initrd-2.6.9-1.667.img

    当GRUB2加载完Linux内核(/boot/vmlinuz-2.6.9-1.667)后,将这里的“ro root=/dev/hda5 quiet”做为参数传给Linux内核,然后将控制权交给Linux内核。Linux支持的内核参数请点这里,其中一个重要的参数是"init"

    'init=...'

    指定init程序的位置,Linux内核初始化完成后,将运行该位置所指定的程序 ,

    并将该进程作为第一个用户态进程,设置其进程ID为1

    如果没有指定这个参数,或者这个参数指定的位置不存在,

    Linux内核将依次搜索/sbin/init, /etc/init, /bin/init, /bin/sh这些路径,

    如果都不存在,Linux将启动失败。

    这里指定的init程序可以是可执行文件,软链接,也可以是脚本。

    initrd image是干嘛的呢?

    我们都知道Linux内核模块的概念,比方说Linux支持N种不同的文件系统,Ext2/3/4,XFS, Btrfs等等,那需要把所有的这些文件系统驱动都编译进内核吗?当然不需要,因为这样做会导致内核太大,运行时占用太多的内存,取而代之,我们会把这些驱动编译成一个一个的内核模块,在需要用到的时候再把它们加载进内核,其它时间存放在磁盘上就好了。

    现在有个问题,在GRUB将控制权交给Linux内核后,内核需要启动init程序,这个init程序是放在某个磁盘分区上的,这个磁盘分区用的是N个文件系统中的某一个,内核到哪里找这个文件系统的驱动呢?这个时候initrd image出场了,它里面包含了很多驱动模块,并且用的是内存文件系统,内存文件系统的驱动已经编译到内核中了,所以内核是可以直接访问initrd image的(老版本的initrd可能用的其它格式,但不管怎么样,肯定是被内核支持的格式)。当然initrd image里面不仅仅只包含文件系统的驱动,还有其它的很多文件,这个跟每个发行版有关,具体的内容可以参考相应的发行版。

    init

    内核启动的第一个用户态进程init到底是个什么东东?其实它就是一个普通的程序,内核并没有对它做什么要求,只是别退出就好,init进程如果挂了的话,系统就崩溃了,至于init进程干些啥,启动其它的哪些进程,跟内核已经没有关系了,内核的任务就是管理硬件资源并调度这些用户态进程。我们也可以写一个我们自己的init程序放到那里,它也会正常的被内核启动起来。

    除了在init进程里指定了handler的信号外,内核会帮init进程屏蔽掉其他所有信号,包括普通进程无法捕获和屏蔽的信号SIGKILL和SIGSTOP,这样可以防止其他进程不小心kill掉init进程导致系统挂掉。这是内核给用户态启动的第一个进程的特殊待遇。

    init是用户态的第一个进程,所以非常重要,各个Linux发行版都用这个进程来创建很多子进程,然后让这些子进程来初始化用户态的环境,如mount各个分区,启动各个服务等,现在各个发行版主要采用这三种框架中的一种sysvinit,upstart,systemd

    简单点说,sysvinit出现最早,简单易用,但缺点是速度慢,比如有10个服务需要在开机时启动,那么sysvinit只能一个接一个的启动它们,即使他们之间没有任何关系,也不能并行的启动。于是出现了upstart,upstart基于事件驱动,可以让没有关系的服务并行的启动,这样可以加快开机速度。但是人们觉得还是不够快,于是出现了systemd,它可以通过一定的技术和技巧让有关系的服务也能并发的启动,当然导致的结果是systemd比较复杂。这里只提到了启动速度,当然还有其他方面的改进,详情请参考:

    展开全文
  • UEFI的两种启动模式

    千次阅读 2021-01-17 13:10:51
    UEFI启动模式和传统的Lagency启动模式完全不同,因此很有必要先了解一下UEFI BIOS和UEFI启动模式1 必须搞清的几个UEFI问题(1) UEFI启动模式 与 legacy启动模式legacy启动模式: 就是这么多年来PC一直在使用的启动方式...
  • 本文将简单介绍一下Linux启动过程,希望对那些安装Linux的过程中遇到了问题的朋友有些帮助声明:本人没用过UEFI模式和GPT分区格式,所有关于这两部分的内容都是网络上找的资料,仅供参考。典型启动顺序计算机通电...
  • 本文首发于我的个人公众号 ytcode,文章链接为linux内核启动流程分析 - efi_pe_entry​mp.weixin.qq.com接上一篇文章 linux内核启动流程分析 - efistub的入口函数,我们继续看efi_pe_entry这个函数。该函数有两个...
  • 引导方式:UEFI分区结构:GPT在上述前提下安装 CentOS 6.4 。一、进 BIOS 选择启动方式。BIOS Features --> PCI ROM Priority --> EFI Compat ible ROM (此为 EFI 引导 GPT 分区;Legacy ROM 为 BIOS 引导 MBR...
  • windows下UEFI引导文件的载入顺序主板启动windows的一般有两种方法:windows boot manager启动硬盘直接引导启动 主板bios中分别是途中前两项(第二项是你自己的硬盘名称,我这里是vmware虚拟机的SCSI硬盘,后面的四个...
  • 用uefi装了几次次archlinux,搞的uefi启动选项下多出来好多启动项。。这东西重格硬盘也是不好用的。发现以下方法可以解决。efibootmgr //显示efi的启动项删除一个引导项# efibootmgr -b 0001 -B其中 0001是要删除的...
  • 要深入理解linux启动过程,我们从开机开始追踪整个启动过程。这里以笔者所使用的archlinux为基础来讲解。首先我们要理解如下两个概念:BIOSBasic Input-output System,是开机第一个被执行的程序,又被称之为固件。...
  • 如果安装debian过程中,使用uefi模式启动,而没有生成grubx64.efi,可以复制这个到分区内就可以
  • 运行以下命令,查看系统...UEFI启动时会显示: [root@newname ~]# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS UEFI //返回的结果 BIOS将显示如下: [root@newname ~]# [ -d /sys/firmware/e..
  • 本教程基于 Linux 系统环境,以 Deepin 15.2 为例格式化U盘做这一步之前要先备份好U盘里的文件。可以使用图形化的 GParted ,也可以使用命令行的 fdisk 或 cfdisk,下面讲 GParted:在右上角选中你的U盘,如果下面有...
  • UEFI+GPT 装 win/linux 双系统基本上是很简单的,首先说下大概思路1.首先装Windows2.然后装Ubuntu,手动分一个200M的EFI分区,选择Bootloader位置时选择此分区3.就这些就行了,安装好后启动时自动进入...
  • 好久没有Puppy Linux的消息了,不过,Puppy Linux团队的Philip Broughton今天宣布推出适用于32位和64位计算机的Puppy Linux 7.5操作系统。Puppy Linux 7.5 a.k.a. Xenialpup 7.5在Puppy Linux 6.3“Slacko”版本发布...
  • 目前现在最常用的电脑开机方式有两种,一种是Legcay,另一种是uefi模式。...通常uefi的u盘无法启动是因为bios中Launch CSM兼容模块未开启导致的,那么uefi bios u盘启动不了应该怎么办?方法/步骤:...
  • 重启,BIOS设置 UEFI 启动,可以找到 U盘 了,选中 黑屏,什么也没发生 重启,BIOS 设置 Legacy Support 然后启动菜单选择 Legacy 方式启动 U盘(没有 UEFI 字样的那个启动项) 顺便说一下,不要把 U盘 插在 USB ...
  • UEFI引导linux启动过程的顺序,及修改办法

    万次阅读 热门讨论 2019-03-13 16:22:34
    正常安装完一个Linux系统,硬盘会被分成俩个分区,一块是 fat32 文件系统(启动项存放位置),一块是ext4 文件系统(也就是系统真正的安装位置),当电脑电源接通时,以 UEFI 启动,首先会去寻找 fat32 文件系统这个...
  • Linux使用UEFI和Uboot模式安装注意事项

    千次阅读 2020-08-04 11:41:46
    一、如何开启UEFI或Uboot模式? ①根据不同机型,按对应快捷键,进入BIOS...无论是安装Windows还是Linux操作系统,硬盘分区都是整个系统安装过程中最为棘手的环节,网上的一些Ubuntu Linux安装教程一般都是自动分区,
  • Windows与LinuxUEFI引导修复教程

    千次阅读 2020-12-18 17:42:54
    UEFI引导修复教程 一、UEFI引导基本原理 1.esp引导分区 esp磁盘分区是gpt格式硬盘放efi引导...uefi bios启动时,自动查找硬盘下esp分区的bootx64.efi,然后由bootx64.efi引导 efi下的bcd文件,由bcd引导指定系统文件
  • EasyUEFI启动修复

    2022-02-19 14:25:50
    管理Win10 和 ubuntu 启动管理修复,老版本的 Legacy 推荐使用 EasyBCD。
  • UEFI启动模式下安装Ubuntu教程

    千次阅读 2021-05-13 02:59:06
    制作Ubuntu启动盘个人习惯于使用U盘安装的方式,简单快捷。那么准备好一个空的U盘,首先去Ubuntu官网下载最新的Ubuntu 16.04的ISO映像文件,然后需要下载制作启动盘的工具,这里建议使用Ubuntu官方主推的工具Rufus,...
  • Linux系统引导过程

    2021-01-17 13:10:49
    GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd....
  • 今天要为一台十年前的IBM服务器安装CentOS7系统,本来以为是手到擒来的小事,没想到啊,没想到,竟然折腾了一个上午,罪魁祸首就是这台服务器是快速启动的方式,且看下文:这里我将虚拟机安装的系统设置成uefi启动,...
  • UEFI启动和Ghost克隆安装系统,学习UEFI启动和Ghost克隆安装系统的方法。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,663
精华内容 4,265
关键字:

linux uefi启动