manjaro卸载与重装Arch linux
前言
之前安装了manjaro-deepin,但太久没用了,昨天更新系统后,出了点问题,重装个新版本吧。
卸载manjaro
由于之前安装了manjaro,默认开机引导程序是linux的Grub,那么首先应该把开机程序修改为windows的的Boot Manager(不然直接删除linux后是不能正常开机的)。可以在windows使用EasyUEFI软件修改,如下图:
将Windows Boot Manager移到最上面后,删除Manjaro条目就可以了,然后进入磁盘管理器将原来manjaro所占用硬盘删除即可。然后再新建卷用于当做新的linux系统盘。
制作U盘启动盘与安装Arch
前提系统启动类型是UEFI,如上面的图,有个EFI系统分区就是的了。
-
下载Arch linux ISO,推荐使用种子或磁力接下载
-
下载Rufus用于制作U盘启动盘
-
选择镜像格式化U盘(选择分区类型GPT,目标系统类型为UEFI,其余默认即可)
-
将制作好的U盘启动盘插上电脑(windows10),在系统设置的“更新和关于”里,选择高级启动,如下图:
-
重启时,选择U盘启动如下图,进入使用设备,选U盘
-
选择下图中的第一个选项启动
-
archlinux软件包需要联网下载,先ping下(没有线网的话,看下面参考资料)
-
时间同步下,避免不能正确验证证书的有效性
timedatectl set-ntp true
-
准备硬盘空间
将之前准备的linux空间100G删除掉,用于当做arch linux的系统盘,之所以删掉是为了避免分不清,比如我这里C盘也是100G。
使用lsblk查看硬盘对应的文件设备,观察下,可以发现那个nvme0n1就是我们的硬盘(SSD),然后使用命令cgdisk进行划分硬盘空间。
cgdisk /dev/nvme0n1
后进入下面界面,进行划分空间。上下移动光标到准备后的磁盘上,然后左右移动关闭至New,然后按Enter,接下来会问几个问题如下。
# 数字可能和汝看到的不一样😂 # 起始扇区的位置,直接 Enter 就行 First sector (749424640-972906511, default = 749424640): # 大小,可以是扇区数,也可以是实际的大小(例如 100M,20G一类的),要用掉整个剩余空闲空间的话,直接 Enter 就行。 Size in sectors or {KMGTP} (default = 223481872): # 分区类型,默认的就好 # 但是如果要建立新的 EFI 系统分区的话 ,分区类型是 :code:`ef00` # 但是如果要建立新的 交换空间(就是虚拟内存啦)的话 ,分区类型是 :code:`8200` Current type is 8300 (Linux filesystem) Hex code or GUID (L to show codes, Enter = 8300): # 设置卷标,不设置也行。 Current partition name is '' Enter new partition name, or <Enter> to use the current name:
NEW完过后就可以移动光标进行Write了,会弹出一个确认框,输入
yes
,然后按Enter,下面会闪过The operation has completed successfully
,然后就可以退出了,移动光标到Quit上,按Enter退出。 -
创建文件系统与挂载
-
使用
lsblk -f
查看分区详细信息,查看下刚新建的分区 -
使用mkfs将新建的分区格式化成ext4文件系统:
mkfs.ext4 /dev/nvme0n1p5
-
再次查看分区信息,确保创建文件系统成功
-
使用mount来挂载分区
# mount <设备名称> <目标文件夹> # /mnt 挺合适的 root@archiso ~ # mount /dev/nvme0n1p5 /mnt # 挂载 EFI 系统分区的话,建议挂载到 /mnt/boot # 所以先建立相应的文件夹 root@archiso ~ # mkdir /mnt/boot root@archiso ~ # mount /dev/sda1 /mnt/boot
-
配置软件仓库镜像地址
root@archiso ~ # nano /etc/pacman.d/mirrorlist
打开环境后,将China上面的Server删除,然后新加几个China的镜像地址,如下# 网易 Server = http://mirrors.163.com/archlinux/$repo/os/$arch # 清华大学 TUNA 协会 Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch # 中国科学技术大学 Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch # 西安交通大学 Server = https://mirrors.xjtu.edu.cn/archlinux/$repo/os/$arch
输入完以后按下 Ctrl+O 写入,按 Enter 确定,再按 Ctrl+X 退出。接着用
pacman -Syy
刷新一下软件包数据库。 -
安装基本的系统依赖
pacstrap /mnt base base-devel linux nano e2fsprogs
-
准备进入Chroot环境
-
生成fstab
fstab(5)文件可用于定义磁盘分区,各种其他块设备或远程文件系统应如何装入文件系统。 每个文件系统在一个单独的行中描述。这些定义将在引导时动态地转换为系统挂载单元,并在系统管理器的配置重新加载时转换。 在启动需要挂载的服务之前,默认设置会自动fsck和挂载文件系统。例如,systemd会自动确保远程文件系统挂载 (如NFS或Samba)仅在网络设置完成后启动。因此,在/etc/fstab中指定的本地和远程文件系统挂载应该是开箱即用的。
root@archiso ~ # genfstab -U /mnt >> /mnt/etc/fstab
-
进入Chroot
root@archiso ~ # arch-chroot /mnt /bin/bash [root@archiso /] #
-
-
设置时间与调整时间标准
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc --utc
Tips:如果你在使用双系统,那么需要让Windows使用UTC作为硬件时钟,否则2个系统时间会不一样。 在cmd中输入Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
-
本地化配置
- /etc/locale.gen 是一个仅包含注释文档的文本文件。指定您需要的本地化类型,去掉对应行前面的注释符号(#)就可以啦,还是用 nano 打开,建议选择帶UTF-8的項:
# nano /etc/locale.gen en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8
- 执行 locale-gen 以生成 locale 讯息:
# locale-gen
-
创建 locale.conf 并提交您的本地化选项:
将系统 locale 设置为en_US.UTF-8,系统的 Log 就会用英文显示,这样更容易问题的判断和处理。用户可以设置自己的 locale。
警告: 不推荐在此设置任何中文locale,或导致tty乱码。
# echo 用来输出某些文字,后面的大于号表示把输出保存到某个文件里啦~ # 或者可以用文字编辑器新建这个文件加上这一行。 # echo LANG=en_US.UTF-8 > /etc/locale.conf
- 设置一个喜欢的主机名(用汝的主机名代替 myhostname ):
# echo myhostname > /etc/hostname
- 设置 root 的密码(输入密码的时候就是啥也没有 ╮( ̄▽ ̄)╭ ):
[root@archiso /]# passwd New password: Retype new password: passwd: password updated successfully
15.安装启动加载器GRUB
pacman -S efibootmgr dosfstools #efibootmgr 用于修改 UEFI 固件中的某些信息
pacman -S grub os-prober # 安装GRUB
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --recheck
grub-mkconfig -o /boot/grub/grub.cfg #生成必要的配置文件
- 设置Sudo
[root@archiso /]# EDITOR=nano visudo
现在大概像这个样子:
GNU nano 3.2 /etc/sudoers.tmp
## sudoers file.
##
## This file MUST be edited with the 'visudo' command as root.
## Failure to use 'visudo' may result in syntax or file permission errors
## that prevent sudo from running.
##
## See the sudoers man page for the details on how to write a sudoers file.
##
##
## Host alias specification
##
## Groups of machines. These may include host names (optionally with wildcards),
## IP addresses, network numbers or netgroups.
# Host_Alias WEBSERVERS = www1, www2, www3
##
## User alias specification
##
[ Read 97 lines ]
^G Get Help ^O Write Out ^W Where Is ^K Cut Text ^J Justify ^C Cur Pos M-U Undo M-A Mark Text
^X Exit ^R Read File ^\ Replace ^U Uncut Text ^T To Spell ^_ Go To Line M-E Redo M-6 Copy Text
找到下面的这一行,然后把 %wheel 前面的注释符号(#)去掉,不过百分号要留下:
## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL
-
安装桌面环境(KDE)
1.首先安装桌面环境需要的基础包xorg
pacman -S xorg
默认就行,按Enter
2.安装kde
pacman -S plasma sddm kde-applications
默认就行,按Enter
3.安装中文字体
pacman -S adobe-source-han-sans-otc-fonts wqy-microhei wqy-zenhei
-
新建一个用户
user add -m -G wheel tom # tom为用户名 passwd tom
-
激活需要的服务
systemctl enable sddm # 启用桌面显示管理器 systemctl enable NetworkManager
-
设置用户级别的local
su tom nano ~/.config/locale.conf
LANG=zh_CN.UTF-8 LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL=
-
添加Arch Linux CN源
为了防止某些不在官方的仓库的包下载时报
target not found
,需要添加CN源。编辑
/etc/pacman.conf
文件末尾添加两行[archlinuxcn] Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
然后执行安装
sudo pacman -S archlinuxcn-keyring
以导入 GPG key。 然后刷新源:sudo pacman -Syy
-
exit 退出,reboot重启即可进入桌面环境
参考资料
本文大部分参考给 GNU/Linux 萌新的 Arch Linux 安装指南 rev.B,比我写的详细,有不清楚的可以看看,本文主要是给自己看,哈哈。