物理机安装Centos7和网络设置

写在前面

之前有在虚拟机中安装过Centos7,今日心血来潮想在旧电脑上试一下物理机装一个Centos方便使用,顺便试试手。过程中出现了一些问题,进行一个总结和记录,希望能对有同样问题的人有帮助。
整个安装过程如果除去出现状况的时间的话还是很快的。
24.12.8 补 注:如果自己准备装的电脑是想使用双系统,保留原系统可用的话,注意磁盘区域的选择,避免安装时占用了不当的磁盘空间,导致数据丢失。建议提前做好备份。

安装

前期准备

下载并写入U盘

选择一个喜欢的Linux版本并下载下来,一般在官网下载比较慢,建议在一些国内的镜像网站下载。
aliyun镜像
此外我们还需要一个将下载好的ISO文件写入U盘的工具,这里使用的是软碟通。下载后安装使用试用版本。
软碟通下载
文件-打开找到下载好的iso文件。
然后启动-写入硬盘映像,将iso写入U盘。
在新出现的界面选择硬盘驱动器为你的U盘,写入方式选择USB-HDD+,等待写入即可。
img
注意待U盘写入完毕后,会被命名为CentOS 7 x8,因为Windows系统限制了LABEL的长度为11,多出的部分被截断了,所以导致U盘的LABEL只有“CentOS 7 x8”11位。
img

启动盘安装Linux

注意先在windows系统的磁盘管理中按照本博客中“安装Centos”部分提及的,先进行空间分配。

进入bios界面并设置

参考:从U盘安装Centos7.6(史上最简单的终极解决方案)
不同品牌笔记本/台式电脑进入bios界面的方式不同,具体可以在网络上查到。笔者的是华硕,开机后长按f2进入bios界面。
需要进行设置的地方有两处:
1.切换启动顺序,将u盘名称的启动项放在第一位。否则会直接启动windows系统。
2.将security里的securityboot设置为关闭。否则会报错“Secure Boot Violation”
img
设置好后,U盘插入并启动,将会进入界面。
img
在此界面根据提示按e进行编辑,将LABEL修改为u盘之前的名字(删除掉多余的内容直到一致即可)。
img


img
这里如果不保证两处LABLE一致的话,会报错“/dev/root does not exist”
img
完成后,按ctrl+x继续安装。加载条完成之后就会进入光盘安装的起始界面,在虚拟机中安装过Linux的应该都不陌生。

安装Centos

其他部分我不再赘述,但是需要注意和虚拟机安装不同的是磁盘空间的选取。

先在win里面打开磁盘管理(win+X选择磁盘管理,或者win+R输入diskmgmt.msc),提前为安装预留出预算的空间,我这边选择100G。
怎么操作预留空间?
在磁盘管理中右键单击选择的磁盘,然后压缩卷,填入想要预留的大小,单位是MB,比如100G则为102400.
操作完成后会显示100G空间变成未分配。未分配空间即为后面安装时可以直接选择的空间。
img
安装时就可以看到之前预留的100G空间,如下所示:
img
本地标准磁盘处出现的3个盘分别是机械硬盘(DEF盘等等),固态硬盘(C盘),还有u盘。
当然,这是以前比较垃圾的电脑了,现在的可能都是固态了。
这里需要注意,如果你的电脑中win系统还有用,甚至还有重要资料保存在电脑中,不要按照一些教程上的直接在centos安装过程中来配置分区,因为极大可能你在里面操作时造成原本的基本磁盘转化为动态磁盘,win家庭版是无法读取动态磁盘的数据的,回到win系统读取比如D盘时会提示你需要格式化硬盘。
这时候你可能需要进行数据恢复,这就麻烦了,数据有丢失的风险。

之后其他常规步骤完成后静待安装完成即可。

设置

连接网络

常规情况

Centos连接网络一般很简单,只需要修改一下配置文件即可。

[wg@localhost ~]$ vi /etc/sysconfig/network-scripts/ifcfg-ens33

当然,实际上你的配置文件可能和这个略有不同。可以使用下面的命令查看

[wg@localhost ~]$ ip a

img
上面的2的enp2s0对应的就是上面的ens33.其中第三个wlp3s0是wifi,后面会提到。
主要是需要修改里面的两处:

BOOTPROTO=dhcp
# 这个是网络配置参数:BOOTPROTO=static 静态   IPBOOTPROTO=dhcp 动态    IPBOOTPROTO=none 无(不指定)
ONBOOT=yes
# 表示在系统启动时自动激活网卡设备(加载网卡驱动)

设置完毕后使用命令重启网络服务使配置文件生效。

[wg@localhost ~]$ systemctl restart network
# 重启网络服务使配置文件生效

但是我在重启网络服务时一直报错:"Job for network.service failed."进一步查看错误为"Failed to start lsb"

(不知道是不是没有插网线导致)

wifi连接的情况

一般来说,电脑是连接了网线使用的。这就导致了在我设置网络时出现问题,我笔记本用wifi习惯了,而且,我没有网线。
所以我就在网上查看,能不能连接WiFi。幸运的是,还真有!
参考:Centos7使用wifi连接
十分感谢大佬!
但是这里在我后续的实践中发现,如果选择最小安装的话,不会包含iw工具包。网上的关于连接wifi的教程都会使用iw命令,但是没有网络也就不能yum安装iw,这就尬住了。
如果你没有网线只想也只能使用wifi,一种可行的实践是选择Sever with GUI也就是带GUI的服务器(怎么说呢,带GUI的话,图形界面对新手也相对友好),这边进一步建议勾选开发工具和系统管理工具,来确保iw命令真的安装了。
img

1.查看是否需要安装固件
[wg@localhost ~]$ dmesg|grep firmware
## 如果没有输出,说明系统的无线芯片不需要固件。

2.查看无线网口
[wg@localhost ~]$ iw dev
## interface后面跟着的是无线网口号

3.激活无线网络接口
[wg@localhost ~]$ ip link set wlp3s0 up

4.检验接口是否激活成功
[wg@localhost ~]$ ip link show wlp3s0
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    link/ether 3c:a7:67:19:4v:9a brd ff:ff:ff:ff:ff:ff
## <BROADCAST,MULTICAST,UP,LOWER_UP>中UP表示接口激活成功

5.查看无线网络连接情况
[wg@localhost ~]$ iw wlp3s0 link
## 刚开始应该会显示无连接

6.扫描可用的wifi网络
[wg@localhost ~]$ iw wlp3s0 scan|grep SSID

7.连接指定SSID
[wg@localhost ~]$ wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")
## 将其中的ssid替换为wifi名称,psk换位密码,引号保留。

8.用dhcp获得IP分配
[wg@localhost ~]$ dhclient wlp3s0

9.测试是否成功从路由器获得了ip
[wg@localhost ~]$ ip addr show wlp3s0

10.ping测试
[wg@localhost ~]$ ping baidu.com

重启后可能会需要再自己连wifi,这太麻烦了,怎么解决呢?
参考:CentOS7无线wifi连接并设置为开机启动

[wg@localhost ~]$ chkconfig NetworkManager on
## 设置 NetworkManager 自启动

[wg@localhost ~]$ yum -y install NetworkManager-wifi 
## 安装 NetworkManager-wifi 

[wg@localhost ~]$ nmcli wifi on 
## 开启wifi

[wg@localhost ~]$ nmcli dev wifi
## 扫描信号,列出所有可用的 Wi-Fi 设备和网络

[wg@localhost ~]$ nmcli d wifi connect "ssid" password "psk" wlp3s0
## 连接wifi ,同样将其中的ssid替换为wifi名称,psk换位密码,引号保留。

重启自动联网失败,怎么解决?

[wg@localhost ~]$ nmcli connection
## 查看网络连接 

[wg@localhost ~]$ nmcli c delete fa0ssadawdsa-dwads-dsadw
## 删除无线连接

[wg@localhost ~]$ nmcli d wifi connect "ssid" password "psk" wlp3s0
## 重新连接

## reboot后ifconfig验证

替换yum源

为了方便使用,推荐替换国内yum源。
参考:Centos7替换yum国内源教程

[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
## 备份系统自带的yum源配置文件

[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
## 下载国内yum源(这里是aliyun)配置文件到/etc/yum.repos.d

[root@localhost ~]# yum clean all
## 清理yum缓存

[root@localhost ~]# yum makecache
## 生成新缓存

[root@localhost ~]# yum repolist
## 验证是否可用

开启ssh

[root@localhost ~]# yum list install |grep ssh
## 查询centos自带的ssh服务

[root@localhost ~]# yum install openssh-server
## 如果没有安装,则先需要安装ssh服务

[wg@localhost ~]$ sudo systemctl status sshd
## 检查 sshd 服务是否正在运行。默认情况下,SSH 服务器在端口 22 上侦听所有网络接口 (0.0.0.0)。
[wg@localhost ~]$ sudo service sshd start
## 如果由于某种原因 sshd 服务没有在机器上运行,可以手动开启sshd服务

[wg@localhost ~]$ sudo systemctl enable sshd
## 将其添加到系统启动中 sudo systemctl disable sshd可以从系统启动中删除 sshd 服务

[wg@localhost ~]$ sudo systemctl stop sshd
## 如果您想在配置服务器计算机后停止 sshd 服务

[wg@localhost ~]$ sudo systemctl restart sshd
## 如果更改 SSH 服务器配置文件,则必须重新启动 sshd 服务才能使更改生效。

笔记本合盖不休眠

参考:CentOS7设置笔记本合盖不休眠

[root@localhost ~]# vim /etc/systemd/logind.conf
## 打开配置文件

## 将HandleLidSwitch后面的suspend修改为ignore或者lock

[root@localhost ~]# systemctl restart systemd-logind
## 重启 systemd-logind 服务以使更改生效

HandlePowerKey 按下电源键后的行为,默认power off
HandleSleepKey 按下挂起键后的行为,默认suspend
HandleHibernateKey 按下休眠键后的行为,默认hibernate
HandleLidSwitch 合上笔记本盖后的行为,默认suspend
其中HandleLidSwitch后面的代表:
ignore 忽略,跳过
power off 关机
eboot 重启
halt 挂起
suspend 暂停(目前正在执行的shell)
若要恢复,则必须使用SIGCONT信息。所有的进程都会暂停,但不是消失(halt是进程关闭)
hibernate 让笔记本进入休眠状态
hybrid-sleep 混合睡眠,主要是为台式机设计的,是睡眠和休眠的结合体,当你选择Hybird时,系统会像休眠一样把内存里的数据从头到尾复制到硬盘里 ,然后进入睡眠状态,即内存和CPU还是活动的,其他设置不活动,这样你想用电脑时就可以快速恢复到之前的状态了,笔记本一般不用这个功能。
lock 仅锁屏,计算机继续工作。

合盖开盖后报错

参考:开机显示nouveau多条错误,但仍然正常使用。(解决过程)
img

[wg@localhost ~]$ vim /etc/default/grub
## 编辑/etc/default/grub将quiet改成quiet nouveau.modeset=0然后保存。
## 在启动参数中添加 quiet nouveau.modeset=0 可以实现以下几个效果:
## quiet 参数:减少启动日志输出:quiet 参数会使系统在启动过程中减少输出日志信息,只显示关键信息。这可以使启动过程看起来更简洁,但也可能隐藏一些调试信息。
## nouveau.modeset=0 参数:禁用 nouveau 内核模块的模式设置:modeset 是指内核模块控制显示模式(分辨率、刷新率等)的能力。将其设置为 0 可以禁用 nouveau 模块的显示模式设置功能。这对于遇到 nouveau 相关问题(如你提到的 nouveau DRM failed to idle channel 0 错误)时特别有用,可以避免该模块干扰图形显示。禁用模式设置可以避免某些情况下的兼容性问题,特别是在使用 NVIDIA 官方驱动程序时。这是因为官方驱动程序通常会有自己的一套模式设置机制,与 nouveau 模块的模式设置可能产生冲突。

[wg@localhost ~]$ grub-mkconfig -o /boot/grub/grub.cfg 
## 更新grub的配置。这里可能会出现未找到命令,解决方法如下

[root@localhost default]# yum install grub2-tools
## 安装 grub2-tools 软件包,GRUB2(GRand Unified Bootloader 2)是一个引导加载程序,用于在计算机启动时选择并启动操作系统。它是 GRUB 的第二版,功能更强大且支持更多的硬件和文件系统。

[root@localhost default]# which  grub2-mkconfig
## 安装完成后,确保 grub2-mkconfig 命令位于系统的 PATH 中。笔者一开始一直which  grub-mkconfig然后始终找不到哈哈哈

[root@localhost default]# grub2-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-7276dc52fa3441d189e9cce1b9885d33
Found initrd image: /boot/initramfs-0-rescue-7276dc52fa3441d189e9cce1b9885d33.img
Found Windows Boot Manager on /dev/sdb1@/EFI/Microsoft/Boot/bootmgfw.efi
done
## 这里也要注意改为grub2-mkconfig -o /boot/grub/grub.cfg

卸载CentOS

如果我不想用了,或者安装完了有些东西配置不对,我想要重装怎么办?我该怎么卸载?
参考:手把手教你Windows Linux双系统的安装与卸载

删除分区

打开磁盘管理进行操作。
将安装CentO S时创建的分区,右键删除卷。
如果想把这个原来压缩出来的空间还给D盘,可以右键D盘拓展卷,恢复即可。

删除启动项

删除Linux系统所有分区之后选择重启,发现 grub 界面(开机时的引导)还在,只是选择 CentOS 后启动不了了,接下来就是删除 CentOS 的引导文件。
可以使用软件easyUEFI 软件查看 EFI 启动项。如果你只是单纯地要删除引导文件,完全可以不下载 easyUEFI 。它只是用来查看引导项的。
(笔者直接删除分区然后在bios里删了开机引导,好像也达到了目的,但是不知道是否什么不好的影响。)

挂载EFI分区

(1)右键点击Windows图标,选择命令提示符(管理员)
(2)输入diskpart 回车
(3)输入 list disk //列出系统中拥有的磁盘
(4)select disk 0 //选择EFI引导分区所在的磁盘,请根据实际情况选择
(5)list partition //列出所选磁盘拥有的分区
(6)select partition 1 //选择EFI引导分区,类型为系统的分区,就是EFI引导分区
(7)assign letter=p //为所选分区分配盘符,请分配空闲盘符
(8)操作完毕后可使用 remove letter p 移除盘符P

使用Total Commander删除

挂载完成后,打开我的电脑能看到一个P盘,但你并没有权限访问,以管理员身份点击继续也不行,那怎么办呢?
接下来我们需要使用一个软件,Total Commander,自己百度搜索下载安装,安装完成后打开,这软件个人使用是免费的,按提示打开即可。
打开之后选择 P 盘,以管理员身份运行,进入 EFI,选择 CentOS7 ,文件夹变红,shift + delete 删除
img
img
img

其他设置

在尝试使用 sudo 命令时提示“用户不在 sudoers 文件中”

这说明当前用户没有 sudo 权限。你需要以 root 用户身份将当前用户添加到 sudoers 文件中。以下是解决方法:

[wg@localhost ~]$ su -
## 切换到root用户

[root@localhost ~]# visudo 
## 使用 visudo 命令编辑 sudoers 文件

## 添加用户到 sudoers 文件: 在文件中找到类似于 root ALL=(ALL) ALL 的行,然后在其下面添加你的用户,例如假设你的用户名是 your_username:
## your_username ALL=(ALL) ALL
## 照着上面root那行写就行

## 按i编辑,改完之后esc保存并退出:wq 或shift +ZZ
posted @   ganwong99  阅读(523)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示