manjaro卸载与重装Arch linux

2023-05-17,,

前言

之前安装了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,比我写的详细,有不清楚的可以看看,本文主要是给自己看,哈哈。

manjaro卸载与重装Arch linux的相关教程结束。

《manjaro卸载与重装Arch linux.doc》

下载本文的Word格式文档,以方便收藏与打印。