前言

之前安装了manjaro-deepin,但太久没用了,昨天更新系统后,出了点问题,重装个新版本吧。

卸载manjaro

由于之前安装了manjaro,默认开机引导程序是linux的Grub,那么首先应该把开机程序修改为windows的的Boot Manager(不然直接删除linux后是不能正常开机的)。可以在windows使用EasyUEFI软件修改,如下图:

将Windows Boot Manager移到最上面后,删除Manjaro条目就可以了,然后进入磁盘管理器将原来manjaro所占用硬盘删除即可。然后再新建卷用于当做新的linux系统盘。

制作U盘启动盘与安装Arch

前提系统启动类型是UEFI,如上面的图,有个EFI系统分区就是的了。

  1. 下载Arch linux ISO,推荐使用种子或磁力接下载

  2. 下载Rufus用于制作U盘启动盘

  3. 选择镜像格式化U盘(选择分区类型GPT,目标系统类型为UEFI,其余默认即可)

  4. 将制作好的U盘启动盘插上电脑(windows10),在系统设置的“更新和关于”里,选择高级启动,如下图:

  5. 重启时,选择U盘启动如下图,进入使用设备,选U盘

  6. 选择下图中的第一个选项启动

  7. archlinux软件包需要联网下载,先ping下(没有线网的话,看下面参考资料)

  8. 时间同步下,避免不能正确验证证书的有效性

    timedatectl set-ntp true

  9. 准备硬盘空间

    将之前准备的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退出。

  10. 创建文件系统与挂载

  11. 使用lsblk -f 查看分区详细信息,查看下刚新建的分区

  12. 使用mkfs将新建的分区格式化成ext4文件系统:mkfs.ext4 /dev/nvme0n1p5

  13. 再次查看分区信息,确保创建文件系统成功

  1. 使用mount来挂载分区

    # mount <设备名称> <目标文件夹>
    # /mnt 挺合适的
    root@archiso ~ # mount /dev/nvme0n1p5 /mnt
    # 挂载 EFI 系统分区的话,建议挂载到 /mnt/boot
    # 所以先建立相应的文件夹
    root@archiso ~ # mkdir /mnt/boot
    root@archiso ~ # mount /dev/sda1 /mnt/boot
  2. 配置软件仓库镜像地址

    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 刷新一下软件包数据库。

  3. 安装基本的系统依赖

    pacstrap /mnt base base-devel linux nano e2fsprogs

  4. 准备进入Chroot环境

    1. 生成fstab

      fstab(5)文件可用于定义磁盘分区,各种其他块设备或远程文件系统应如何装入文件系统。
      
      每个文件系统在一个单独的行中描述。这些定义将在引导时动态地转换为系统挂载单元,并在系统管理器的配置重新加载时转换。 在启动需要挂载的服务之前,默认设置会自动fsck和挂载文件系统。例如,systemd会自动确保远程文件系统挂载 (如NFS或Samba)仅在网络设置完成后启动。因此,在/etc/fstab中指定的本地和远程文件系统挂载应该是开箱即用的。

      root@archiso ~ # genfstab -U /mnt >> /mnt/etc/fstab

    2. 进入Chroot

      root@archiso ~ # arch-chroot /mnt /bin/bash
      [root@archiso /] #
  5. 设置时间与调整时间标准

    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
  6. 本地化配置

    • /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 #生成必要的配置文件
  1. 设置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
  1. 安装桌面环境(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

  2. 新建一个用户

    user add -m -G wheel tom # tom为用户名
    passwd tom
  3. 激活需要的服务

    systemctl enable sddm # 启用桌面显示管理器
    systemctl enable NetworkManager
  4. 设置用户级别的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=
  5. 添加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
  6. exit 退出,reboot重启即可进入桌面环境

参考资料

本文大部分参考给 GNU/Linux 萌新的 Arch Linux 安装指南 rev.B,比我写的详细,有不清楚的可以看看,本文主要是给自己看,哈哈。

manjaro卸载与重装Arch linux的更多相关文章

  1. 修复Arch Linux和Manjaro Linux无法显示emoji的问题

    安装好Arch Linux或Manjaro Linux系统后默认没办法正常显示emoji,通常会变成方框或者带有unicode码的方块: 这是因为缺失字体以及相关的字体配置导致的. 当然也有一小部分应 ...

  2. Arch Linux 安装过程

    在VM中装了Arch,由于过程较为曲折,现写博客一篇聊以慰藉. 1.新建虚拟机,将下载好的archlinux-2016.03.01-dual.iso挂到虚拟机设置的CD/DVD 2.进入Arch安装界 ...

  3. Arch Linux 安装、配置、美化和优化

    国庆假期玩了下Arch Linux,发现这货跟Ubuntu之流相差甚远,甚难调教,而且安裝过程全命令行,会有各种问题,各种知识... --- 安装引导器--- -------------------- ...

  4. Arch linux安装

    安装archlinux可参考: http://blog.sina.com.cn/s/blog_69e5d8400101bqlj.html http://www.cnblogs.com/mad/p/32 ...

  5. arch linux 安装指南

    (如果不想折腾arch linux,推荐直接使用 manjaro:  https://manjaro.org/ ) 1.安装准备 Arch Linux 能在任何内存空间不小于 512MB 的 x86_ ...

  6. VMware 安装Arch Linux记录

    首先说明一下我的环境. 1.VMware Workstation 10.0.1 build-1379776 2.archlinux-2014.02.01-dual.iso 首先建立虚拟机,其他的不提了 ...

  7. 在 VirtualBox 虚拟机中安装 Arch Linux 系统指南

    How to install Arch Linux on VirtualBox 在 VirtualBox 虚拟机中安装 Arch Linux 系统指南 本文导航 1.Arch Linux 软件仓库2. ...

  8. linux新手学习之Arch Linux入门经验分享

    我一直是以Ubuntu与Fedora作为新手入门的系统,但是其实我真正想推荐的是Arch,经过前面的学习,或许你对Linux已经有了一个大致的了解,现在如果你想加速你的步伐,也许可以看看本文.如果要问 ...

  9. 把Arch Linux安装到U盘上的具体教程

    Arch Linux简介 Arch Linux(或称Arch)是一种以轻量简洁为设计理念的Linux发行版.其开发团队秉承简洁.优雅.正确和代码最小化的设计宗旨.Arch Linux 项目受 CRUX ...

随机推荐

  1. 学习Java第13天

    今天选择数据库选了半天,Oracle,MySQL,SQL sever太难了,安装了又被图形界面,Linux虚拟机所困扰 明天尽量完成数据库安装 只能说是找视频资料和安装教程了.

  2. 在树莓派上开发SpringBoot 之使用VSCode远程开发

    一些运行在ARM单板电脑上的IoT应用通常会提供RESTful风格的API接口.本次的文章记录如何在本地电脑上通过VS Code的远程开发功能,在树莓派端创建一个SpringBoot工程,并实现调试和 ...

  3. Python 单元测试 实战演练

    结合实例,联系单元测试. 文件结构: |----Python_unittest |--------math_operation.py # 定义了类[class MathOperation:],类里面定 ...

  4. 隐式参数arguments

    类数组对象中(长得像一个数组,本质上是一个对象):arguments 常见的对arguments的操作是三个 获取参数的长度  arguments.length 根据索引值获取某一个参数 argume ...

  5. 读取数据库Blob类型的文本数据

    开发一个查询功能时,遇到了一个ORM的问题:数据库字段是 Blob 类型,里面实际存储的是文本数据,Java 后端代码中用字符串 String 类型去接收这个字段的数据时,报错,提示没有对应的sett ...

  6. JS 基本类型的包装对象

    笔记整理自:廖雪峰老师的JS教程 目录 包装对象 不写new的作用 总结 注意 包装对象 JavaScript还提供了包装对象,熟悉Java的小伙伴肯定很清楚int和Integer这种暧昧关系. nu ...

  7. Solution -「LOCAL」大括号树

    \(\mathcal{Description}\)   OurTeam & OurOJ.   给定一棵 \(n\) 个顶点的树,每个顶点标有字符 ( 或 ).将从 \(u\) 到 \(v\) ...

  8. Solution -「多校联训」小卖部

    \(\mathcal{Description}\)   Link.   有 \(n\) 种物品,第 \(i\) 中有 \(a_i\) 个,单价为 \(b_i\).共 \(q\) 次询问,每次查询用不超 ...

  9. ESXI 7.0.0 U2 部署

    文章目录 什么是ESXI? ESXi 的优势 功能特性 部署ESXI 创建虚拟机 开始安装 打开浏览器输入ip进行管理 什么是ESXI? ESXI官网:https://www.vmware.com/c ...

  10. MyBatis缓存Cache包

    Mybatis默认使用了一级缓存为数据查询提供效率,其底层数据结构为PerpetualCache.同时MyBatis不止实现了PerpetualCache,还有其他实现提供其他功能,如下: 可以从UM ...