centos classnotfound,centos7基础软件仓库出错

大家好,关于centos classnotfound很多朋友都还不太明白,今天小编就来为大家分享关于centos7基础软件仓库出错的知识,希望对各位有所帮助!

redhat 万兆和千兆的网卡命名问题

新弄了一批机器,为了准备切换到万兆环境,给机器配了双千兆和双万兆混合的4接口网卡,然后就出了一点问题

centos 7引入了网络一致化命名规则,具体可以看红帽的联网指南

主要部分摘抄如下

------------引用专用分割线----------------------------

8.1. 命名方案层级结构

默认情况下,systemd 会使用以下策略,采用支持的命名方案为接口命名:

方案 1:如果固件或 BIOS信息适用且可用,则使用整合了为板载设备提供索引号的固件或 BIOS的名称(例如:eno1),否则请使用方案 2。

方案 2:如果固件或 BIOS信息适用且可用,则使用整合了为 PCI快速热插拔插槽提供索引号的固件或 BIOS名称(例如 ens1),否则请使用方案 3。

方案 3:如果硬件连接器物理位置信息可用,则使用整合了该信息的名称(例如:enp2s0),否则请使用方案 5。

方案 4: 默认不使用整合接口 MAC地址的名称(例如:enx78e7d1ea46da),但用户可选择使用此方案。

方案 5:传统的不可预测的内核命名方案,在其他方法均失败后使用(例如: eth0)。

这个策略(如上所述)是默认策略。如果该系统已启用  biosdevname,则会使用该方案。注:启用  biosdevname 需要添加 biosdevname=1 作为命令行参数(Dell系统除外),此时只要安装  biosdevname,就会默认使用该方案。如果用户已添加  udev 规则,该规则会更高内核设备名称,则会优先使用这些规则。

设备命名过程如下:

/usr/lib/udev/rules.d/60-net.rules 文件中的规则会让  udev 帮助工具 /lib/udev/rename_device 查看所有 /etc/sysconfig/network-scripts/ifcfg- suffix 文件。如果发现包含 HWADDR 条目的 ifcfg 文件与某个接口的 MAC地址匹配,它会将该接口重命名为 ifcfg 文件中由 DEVICE 指令给出的名称。

/usr/lib/udev/rules.d/71-biosdevname.rules 中的规则让  biosdevname 根据其命名策略重命名该接口,即在上一步中没有重命名该接口、已安装  biosdevname、且在 boot命令行中将 biosdevname=0 作为内核命令给出。

/lib/udev/rules.d/75-net-description.rules 中的规则让  udev 通过检查网络接口设备,填写内部  udev 设备属性值 ID_NET_NAME_ONBOARD、ID_NET_NAME_SLOT、ID_NET_NAME_PATH。注:有些设备属性可能处于未定义状态。

/usr/lib/udev/rules.d/80-net-name-slot.rules 中的规则让  udev 重命名该接口,优先顺序如下:ID_NET_NAME_ONBOARD、ID_NET_NAME_SLOT、ID_NET_NAME_PATH。并提供如下信息:没有在步骤 1或 2中重命名该接口,同时未给出内核参数 net.ifnames=0。如果一个参数未设定,则会按列表的顺序设定下一个。如果没有设定任何参数,则不会重命名该接口。

-----------以上是红帽的联网指南-------

其实简述上面的信息就是首先看内核参数是否启用了biosdevname=1(默认是启用),如果bios提供了设备的名称就使用bios提供的名称

如果没有,就根据网卡配置中 device=eth,em,xyz的名字来命名这个网卡,但是如果这样命名的话,必须在配置里写死网卡的mac地址

作为网卡的识别标志,对单网卡当然没什么问题,但是如果在集群环境里,HA,以及bonding环境里,为了快速切换网络流量,往往要屏蔽mac,

使用虚拟mac,或者多块网卡使用一个mac地址,这个时候需要在配置文件里屏蔽mac地址,因此就需要区改udev的配置文件来解决

我所遇到的问题是,使用了biosdevname=0和 net.ifnames=0参数后,(因为以前有大量的centos6的机器,为了移植方便,不使用一致性命名规则,网卡名依然是eth0,eth1.。。。)安装服务器时一切正常,但启动系统后,发现系统将插在第一个端口的网卡认为是eth2,和预期不符,本能的认为udev可以解决问题,于是添加了udev的规则

```

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:6e:96:ac:a1:xa", ATTR{type}=="1", KERNEL=="*", NAME="eth0"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:6e:96:ac:a1:xb", ATTR{type}=="1", KERNEL=="*", NAME="eth1"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:6e:96:ac:a1:xc", ATTR{type}=="1", KERNEL=="*", NAME="eth2"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:6e:96:ac:a1:xd", ATTR{type}=="1", KERNEL=="*", NAME="eth3"

```

发现不起作用,,难道写错了?换个规则,用pci设备号去绑定

SUBSYSTEM=="net", ACTION=="add", KERNEL=="eth*", SUBSYSTEM=="pci", KERNELS===="0000:01:00.0", NAME="eth0"

依然没用

用下面的命令debug一下

udevadm test/sys/class/net/eth0

结果缩略如下

rules contain 49152 bytes tokens(4096* 12 bytes), 13451 bytes strings

2076 strings(25677 bytes), 1399 de-duplicated(12904 bytes), 678 trie nodes used

NAME'eth2'/etc/udev/rules.d/60-net.rules:6

IMPORT builtin'net_id'/usr/lib/udev/rules.d/75-net-description.rules:6

IMPORT builtin'hwdb'/usr/lib/udev/rules.d/75-net-description.rules:12

IMPORT builtin'path_id'/usr/lib/udev/rules.d/80-net-setup-link.rules:5

IMPORT builtin'net_setup_link'/usr/lib/udev/rules.d/80-net-setup-link.rules:9

No matching link configuration found.

RUN'/usr/lib/systemd/systemd-sysctl--prefix=/net/ipv4/conf/$name--prefix=/net/ipv4/neigh/$name--prefix=/net/ipv6/conf/$name--prefix=/net/ipv6/neigh/$name'/usr/lib/udev/rules.d/99-systemd.rules:55

Error changing net interface name'eth0' to'eth2': File exists

could not rename interface'2' from'eth0' to'eth2': File exists

created db file'/run/udev/data/n2' for'/devices/pci0000:00/0000:00:1c.4/0000:06:00.0/net/eth0'

ACTION=add

DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:06:00.0/net/eth0

ID_BUS=pci

ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection(Gigabit 4P X540/I350 rNDC)

粗体看到原来是设备已经存在,无法重命名,于是想到的重新加载驱动

modprobe-rv igb

modprobe-rv ixgbe

然后按顺序加载驱动

modprobe ixgbe

modprobe  igb

终于可以看到效果了,不过重启就完蛋了

于是想是否可以调整驱动加载顺序?

找了半天文档,发现可以通过重新打包内核启动文件和编译内核两条路实现,不过这显然又增加了很多麻烦,总不能升级一次内核,就重新打一次包吧

看看其他方法。最好发现简单的方法就是修改启动内核的参数将 biosdevname=0和net.ifnames=0改为 biosdevname=0和net.ifnames=1,这样系统启动时,会按照上述一致性命名规则,重新命名网卡,可以预期的是,已dell板载网卡为例,网卡会依次命名为eno1,eno4,等等,然后再加载udev规则,按照udev规则,再次重新命名为我们期望的eth0,eth1,等等

当然配置文件可以用ansible搞定,我这里的模版内容就是

ifcfg-eth0.j2

------

NAME="eth0"

DEVICE="eth0"

ONBOOT=yes

HWADDR="{{ hostvars[inventory_hostname].ansible_eth1.macaddress}}"

NETBOOT=yes

IPV6INIT=no

BOOTPROTO=static

TYPE=Ethernet

----------

这样udev规则就生效了,其实就是启动过程中,当上述两个参数全为0时,网络设备只能叫ethx,先加载的驱动抢占了eth0和eth1时,(我这里是千兆的设备驱动 igb先启动)后起的设备想按udev规则rname时,发现eth0,和eth1已经被占据了,因此命名失败,所以深入理解启动顺序和动作其实还是蛮重要的

参考链接 

红帽知识库文章引用如下

在linux中安装jdk1.8在linux中安装jdk

JDK1.8怎么下载?

方法/步骤

第一步:下载linux环境下的jdk1.8,请去(官网)中下载jdk的安装文件;

第二步:新建/usr/java文件夹,将jdk-8u25-linux-i586.tar.gz放到该文件夹中,并将工作目录切换到/usr/java目录下。

第三步:通过以上步骤,jdk1.8就已经全部安装完成了

第四步:配置环境变量:①、使用vim/etc/profile编辑profile文件,如下1图所示:②、在/etc/profile底部加入如下内容:

java_home=/usr/java/jdk1.8.0_25path=$java_home/bin:$pathclasspath=$java_home/jre/lib/ext:$java_home/lib/tools.jarexportpathjava_homeclasspath

第五步:最后使用source/etc/profile让profile文件立即生效。

第六步:命令测试

①、使用javac命令,不会出现commandnotfound错误

②、使用java-version,出现版本为javaversion"1.8.0_25"

③、echo$java_home,echo$classpath,echo$path,看看自己的配置是否都正确。

如何在Linux系统下安装软件?

目前Linux用户量最多的系统是Centos,目前最新大版本是Centos7,系统轻量级,免费使用。

如何在Linux下安装软件,我说几个方法:

一.使用rpm类型的软件包进行安装,虽然排在最前面但是我也不推荐新手使用,因为所依赖的包会很多。

1.从官网下载rpm软件包,直接通过命令

rpm-ivh软件包名

如果是阿里云服务器可以使用命令。

2.如果镜像源非常新,系统可以联网,使得yuminstall软件包名来安装很方便。

二、源码安装(推荐使用)

源码类的安装,主要的步骤如下:

下载好软件包

1.解压安装源文件tar-zxvftest.tar.gz

2.进入到解压后的目录cdtest

3../configure

4.make

5.makeinstall

以过以上步骤即可完成源码包软件的安装。

为什么要推荐这个呢,因为这样可以自己选择所需要软件的版本。

jdk包linux可以在windows用吗?

在我的认知范围内是不可以的

oracle官方分别提供了基于Linux和windows不同系统版本的jdk安装包,你可以根据自己的系统类型,系统具体位数去选择合适的jdk版本进行下载,以前oracle无需登录即可下载,现在需登录才能下载,注册一个免费的账户,登录就可以了!

u盘redhat安装教程

u盘redhat安装教程(U盘安装redhat)红帽企业版Linux(Red Hat Enterprise Linux)简称为RHEL,它比Fedora稳定。由于CentOS已经被Redhat收购,和RHEL相同源代码的CentOS近期变成了Fedora和RHEL之间的稳定过渡带发行版,大家准备逃离CentOS。好在RHEL代码需要开源,又有许多类似的社区版可供使用。不过RHEL并没有向个人收取费用,我们不必执着于同rpm软件包系的Oracle Linux,也不必切换到deb软件包系的Debian、Ubuntu,就正常使用RHEL就好。

下载

根据CPU类型,从RHEL官网下载光盘镜像。比如64位的Intel/AMD CPU选择x86_64;如果是ARMv8的CPU,选aarch64(某些场合也称为arm64,如Debian)。光盘镜像除CPU架构不同外,根据操作系统是否含有附带软件又区分为DVD和Boot镜像。

下载镜像需要红帽账号,登录后选择对应的镜像,网站会自动开始下载。需要注意的是,整个下载链接只有240分钟的有效期。所以,请务必保持较好的网速!(8G大小时,平均下载速度需不低于570K/s)

当然,国内某些网站提供了镜像,比如搜索rhel镜像出来的山东女子学院镜像。

安装分区

禁用swap。一方面考虑内存本身较大,另一方面考虑SSD频繁读写的寿命不高,故选择禁用swap(不创建swap分区)

用户数据和程序动态数据与系统文件分离。操作系统需要的文件放在SSD,可以加快启动和运行,我们可以把“/boot”、“/”、“/boot/efi”放在SSD。用户数据和程序动态数据占用的空间较大、且修改频繁,我们可以把“/home”、“/var”放到机械硬盘上。

dnfmedia.repo

设置软件包地址(默认指向安装光驱)。

在RHEL8,yum只是dnf的一个软链接。

which yum#/usr/bin/yumls-alh/usr/bin/yum# dnf-3ls-alh/usr/bin/dnf# dnf-3在"/etc/yum.repos.d"目录下新建文件media.repo,用于指向光盘镜像的附带软件,即rhel-{m}.{n}-{arch}-dvd.iso。其中该文件分两个部分,InstallMedia-BaseOS的baseurl指向BaseOS目录,我们可以从"/mnt/cdrom/BaseOS"里复制到磁盘目录"/home/administrator/BaseOS"。 InstallMedia-AppStream指向Apptream目录,我们可以从"/mnt/cdrom/AppStream"复制到磁盘目录"/home/administrator/AppStream"。一个可能的内容如下:

[InstallMedia-BaseOS]name= Red Hat Enterprise Linux 8 for x86_64- BaseOS(RPMs)metadata_expire=-1gpgcheck=1enabled=1baseurl= [InstallMedia-AppStream]name= Red Hat Enterprise Linux 8 for x86_64- AppStream(RPMs)baseurl= 1gpgcheck= 1gpgkey= 86400enabled_metadata= 1redhat.repo在较高版本的RHEL,安装时就要求联网,输入账号信息进行激活,就不需要此步骤。较低版本的redhat.repo文件由rhsm自动生成,没有配置任何信息。可以按照如下步骤操作:

#注册,填写在红帽官网注册的用户名和密码 subscription-manager register#注册成功后,redhat.repo内容就会被修改,配置完成#查看所有repo,会发现现在仓库标识多了rhel-8-for-x86_64-appstream-rpms和rhel-8-for-x86_64-baseos-rpmsyum repolist#查看redhat.repo也能看到文件内容多了很多信息cat/etc/yum.repos.d/redhat.repo# dnf clean all# dnf makecache#如果不想注册到红帽,或者因网络问题,注册不了,可以下载Centos-8.repo,将内容复制到redhat.repocurl-o Centos-8.repo Centos-8.repo>>/etc/yum.repos.d/redhat.repo#除aliyun外,清华\中科大\华为等大学/公司也提供了镜像地址epel.repoEPEL(Extra Packages for Enterprise Linux)是社区志愿者为RHEL系统(及其衍生系统)提供的高质量附加软件包仓库。

#安装软件包yum install 安装完毕后"/etc/yum.repos.d/"下有epel相关的存储库了ls-alh/etc/yum.repos.d/#启用"codeready-builder-for-rhel-8-$(arch)-rpms"存储库(EPEL包可能依赖),EPEL支持x86_64,aarch64等架构subscription-manager repos--enable"codeready-builder-for-rhel-8-$(arch)-rpms"#启用epel-testing# dnf config-manager--set-enabled epel-testing#禁用epel-testing# dnf config-manager--set-disable epel-testing#临时使用epel-testing# dnf upgrade--enablerepo=epel-testing# dnf install--enablerepo=epel-testing#更换镜像sudo sed-e's|^metalink=|#metalink=|g'\-e's|^#baseurl=https\?://download.fedoraproject.org/pub/epel/|baseurl=^#baseurl=https\?://download.example/pub/epel/|baseurl=使用有线网卡,而且没有或不使用无线网卡的可以跳过此步骤。安装时可以联网,最小安装后WIFI无法使用的也可以尝试按下面方法进行解决。

#查看网络配置:可以看到显示的wl开头的网卡适配器没有IP地址,或者有IPv6地址,但是ping不通外网ifconfig-a#查看配置文件,SSID名称为你连接无线路由的名称ls-alh/etc/sysconfig/network-scriptscat/etc/sysconfig/network-scripts/ifcfg-{SSID}#由于目前IPv6的可用性处于薛定谔的猫状态,先禁用IPv6,可以启动图形界面禁用nmtui#再次查看,应该看到已禁用IPv6cat电脑/etc/sysconfig/network-scripts/ifcfg-{SSID}| grep IPv6_DISABLED#尝试启用无线网络连接"wlo1",具体名字根据上一个命令结果nmcli c up wlo1#命令提示失败原因# Error: Connection activation failed: No suitable device found for this connection(device lo not available because device is strictly unmanaged)#查看服务状态sudo systemctl status NetworkManager#可以看到提示#'wifi' plugin not available; creating generic device如果是完整DVD安装,可以尝试使用yum/dnf命令安装:

sudo yum install NetworkManager-wifi#如果提示当前用户不在sudoers中时,执行visudo,以“username”用户名只在本机可运行yum/dnf为例添加一行如下(不含“#”):# username localhost=/usr/bin/yum,/usr/bin/dnf,/usr/bin/dnf-3#更改完后,重新执行安装命令sudo dnf install NetworkManager-wifi如果只有无线网络,但安装了双系统,且Windows系统与Linux在不同的硬盘上时,可以考虑在Windows系统使用WSL来解决:

wsl--updatewsl--shutdown#显示支持的linux发行版,显示结果分两列,一列名字(下一个安装命令会用到),另一列为还是名字(全名,可能包含版本等其他信息)wsl--list--online#选取其中一个发行版,进行安装wsl--install-d Debian#查看磁盘信息diskpartlist disk# WSL不能挂载启动分区所在磁盘,找到要挂载的磁盘序号(假设为0)select disk 0#找到要挂载的分区号list partition##挂载整个磁盘时也可以使用“wmic diskdrive list brief”来查看磁盘信息#装载指定分区,命令格式:wsl--mount--partition--type wsl--mount\\.\PHYSICALDRIVE0--partition 1--type ext4#复制rpm包及依赖包到redhat系统的目录cp/mnt/d/Downloads/*.rpm/mnt/uuid/home/pi/Downloads/#卸载wsl--unmount\\.\PHYSICALDRIVE0#如果卸载失败,则退出wsl来卸载wsl--shutdown#进入Linux系统rpm-i NetworkManager-wifi*.rpm#如果安装失败,并提示依赖,则先安装依赖GUI如果使用启动镜像最小化安装,启动后是没有图形界面的。

安装图形界面的方式如下:

#查看程序组dnf group list#安装dnf groupinstall"Server with GUI"#设置启动后默认界面systemctl set-default graphical.target#使用GUI界面systemctl isolate graphical.target#重启# rebootWindows文件格式读写双系统没有虚拟机方便的一点是,切换系统需要重启。但好处是性能会比虚拟机高很多。但有时候,Windows用的比较顺手,有的时候需要Redhat来试验些东西,而且有些东西也只能用Linux来实验。这时我们需要打通两个系统的文件,当然通过网盘,或者自建NAS也是可行,但毕竟又多了些条件。我们需要通过U盘,甚至直接读写NTFS文件系统。如果是U盘,一般建议格式化为exFAT。

# fuse-exfat可以用于读写exfat格式,在“”网页搜索,可以发现它不在正式软件包#通过搜索exfat,比如网站“”,我们找到下载地址,同时发现一个可选的工具exfatprogs在EPELsudo dnf install dnf install exfatprogs# ntfs-3g和ntfsprogs都在EPEL,ntfs-3g用于挂载及读写,ntfsprogs提供了额外的工具(如格式化成NTFS、解密、列出目录、输出文件内容)sudo dnf install ntfsprogs#查看磁盘sudo fdisk-l#挂载U盘(假定为sdb1,让系统自动识别文件格式)mount/dev/sdb1/media#挂载Windwos文件系统mount.ntfs-3g/dev/sda0/mnt/c#可以编辑/etc/fstab,在开机后自动挂载重建启动菜单安装完Linux后,如果Windows启动项丢失,在grub启动界面按"c"健,使用如下命令到Windows系统:

#查看硬盘ls#根据硬盘和分区设置set root=(hd0,gpt2)#如果是BIOS引导# chainloader+1#如果是UEFI引导chainloader/EFI/Microsoft/bootmgfw.efi#启动boot如果直接格式化原来的EFI分区,通过上述方法是无法启动的。因为UEFI要求磁盘必须以GPT方式分区,分区后多个系统的启动文件会在同一个分区的不同文件夹下!当我们格式化分区,安装其他系统时,相当于丢失原有的启动文件,自然无法多系统启动。此时,我们可以利用多系统启动文件在同一个分区这个特性,再安装原来的Windows操作系统到另一个分区上。安装成功后,分区信息在Linux系统信息如下:

[root@localhost]# sudo fdisk-lDisk/dev/nvme0n1:238.5 GiB,256060514304字节,500118192个扇区单元:扇区/ 1* 512= 512字节扇区大小(逻辑/物理):512字节/ 512字节I/O大小(最小/最佳):512字节/ 512字节磁盘标签类型:gpt磁盘标识符:27EE6043-B2C3-42B1-B1A6-2C3F85DF9A68设备起点末尾扇区大小类型/dev/nvme0n1p1 2048 206847 204800 100M EFI系统/dev/nvme0n1p2 206848 239615 32768 16M Microsoft保留/dev/nvme0n1p3 239616 208613375 208373760 99.4G Microsoft基本数据/dev/nvme0n1p4 208613376 209952767 1339392 654M Windows恢复环境/dev/nvme0n1p5 209952768 212049919 2097152 1G Linux文件系统/dev/nvme0n1p6 212049920 316923903 104873984 50G Linux LVM/dev/nvme0n1p7 316923904 500117503 183193600 87.4G Microsoft基本数据[root@localhost]# sudo mount/dev/nvme0n1p1/media[root@localhost]# sudo ls-alh/media/EFI总用量 24Kdrwx------. 5 root root 2.0K 12月 15 15:42.drwx------. 3 root root 16K 1月 1 1970..drwx------. 2 root root 2.0K 12月 15 15:44 BOOTdrwx------. 4 root root 2.0K 12月 17 19:37 Microsoftdrwx------. 3 root root 2.0K 12月 17 19:42 redhat[root@localhost]# sudo umount/dev/nvme0n1p1由于Linux缺乏编辑BCD的工具,回到新安装的Windows系统,下载bootice双击运行,然后选择加载当前系统BCD,在智能模式下,将Windows启动分区设置到原来的Windows分区,最好保存系统设置退出程序,重启便可以回到原来的Windows系统。

虽然将原来的Windows系统找回变得可启动,但是Linux的GRUB2启动选项并没有Windows菜单。每次都通过设置UEFI启动顺序来控制使用哪个系统,远没有GRUB2菜单选择方便。此时需要再登入Linux系统

#不同的Linux发行版,EFI目录不一样,比如centos可能是“/EFI/centos”,#安装redhat将EFI分区挂载在“/boot/efi”目录下,使用如下命令查看cat/boot/efi/EFI/redhat/grub.cfg#终端输出30_os-prober信息如下:### BEGIN/etc/grub.d/30_os-prober###### END/etc/grub.d/30_os-prober###sudo grub2-mkconfig正常情况下,在命令运行完后,终端会看到如下信息:

### BEGIN/etc/grub.d/30_os-prober###Found Windows Boot Manager on/dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efimenuentry'Windows Boot Manager(on/dev/nvme0n1p1)'--class windows--class os$menuentry_id_option'osprober-efi-A25C-CF85'{insmod part_gptinsmod fatif [ x$feature_platform_search_hint= xy ]; then search--no-floppy--fs-uuid--set=root A25C-CF85else search--no-floppy--fs-uuid--set=root A25C-CF85fichainloader/EFI/Microsoft/Boot/bootmgfw.efi}# Other OS found, undo autohiding of menu unless menu_auto_hide=2if ["${orig_timeout_style}"-a"${menu_auto_hide}"!="2" ]; then set timeout_style=${orig_timeout_style} set timeout=${orig_timeout}fi### END/etc/grub.d/30_os-prober###此时准备重新生成grub.cfg。

sudo cat/etc/default/grub| grep GRUB_DISABLE_OS_PROBER#如果没有此配置,则追加配置:GRUB_DISABLE_OS_PROBER=falsesudo cp/boot/efi/EFI/redhat/grub.cfg/boot/efi/EFI/redhat/grub.cfg.baksudo rm-rf/boot/efi/EFI/redhat/grub.cfgsudo grub2-mkconfig-o/boot/efi/EFI/redhat/grub.cfg# sudo rm-rf/boot/efi/EFI/redhat/grub.cfg.bak再查看grub.cfg可以看到原先的30_os-prober之间有了一个menuentry,内容如下:

### BEGIN/etc/grub.d/30_os-prober###menuentry'Windows Boot Manager(on/dev/nvme0n1p1)'--class windows--class os$menuentry_id_option'osprober-efi-A25C-CF85'{insmod part_gptinsmod fatif [ x$feature_platform_search_hint= xy ]; then search--no-floppy--fs-uuid--set=root A25C-CF85else search--no-floppy--fs-uuid--set=root A25C-CF85fichainloader/EFI/Microsoft/Boot/bootmgfw.efi}# Other OS found, undo autohiding of menu unless menu_auto_hide=2if ["${orig_timeout_style}"-a"${menu_auto_hide}"!="2" ]; then set timeout_style=${orig_timeout_style} set timeout=${orig_timeout}fi### END/etc/grub.d/30_os-prober###重启查看GRUB2启动菜单,如果出现Windows菜单,并可正常进入Windows系统便说明修复成功。如果需要将Windows系统设置为默认启动系统,可以采取如下方式:

#根据原启动界面的顺序,比如Linux一般又2个启动项,那么Windows是第三个启动项sudo grub2-set-default 2#上述方法在新安装其他操作系统时可能需要重新调整,为避免调整,可以采用下面一种方式(但注意menuentry修改时要重新运行设置默认启动系统命令sudo grub2-set-default'Windows Boot Manager(on/dev/nvme0n1p1)'sudo reboot

阅读剩余
THE END