Win10 上 安装 ArchLinux(BIOS 引导)

本文档记录了第一次在 win10 上折腾 arch linux 的过程

一、注意事项

  • 针对 BIOS 引导的磁盘

二、安装过程

1. 安装包

  • arch linux 版本:在 arch linux 官方 找到了清华大学开源软件镜像站, 我下载的版本为 archlinux-2018.04.01-x86_64.iso
  • 安装介质制作工具:usbwriter

2. 磁盘准备

  • 原来装的是 ubuntu 16.04 LTS,删了之后剩了 200G

3. U 盘安装

3.1 进入 Linux 系统

  • 重启找到自己电脑进入 BIOS 的快捷键(F2、F10、F12什么的乱七八糟按按试试,实在不行 google 一下)

  • 选择自己的 U 盘作为引导项

  • 选择 Boot Arch Linux (x86_64)

  • 如果一切正常的话会进入一个只有命令提示符的界面:

    Arch Linux 4.15.14-1-ARCH(tty1)
    
    archiso login: root (automatic login)
    root@archiso ~ # _

至此,已成功进入 arch linux

3.2 检查引导方式

root@archiso ~ # ls /sys/firmware/efi/efivars
ls: cannot access '/sys/firmware/efi/efivars': No such file or directory

上述输出表明以 BIOS 的方式引导,否则为 EFI

3.3 联网

  • 有线(我的笔记本没有网线接口只能无线= =)

  • 无线

    • 我采用了 wifi-menu ,直接在命令行输入即可,可以打开一个可视化界面,操作还是比较方便的

    • 如果想换 wifi,假设你当前连上的 wifi 存的名字这一项你输入的是 XWIFI(别给我说你忘了,默认会有一个= =),可以在 /etc/netctl 这个目录下找到,不想要就删了嘛对不对

    root@archiso ~ # rm -rf /etc/netctl/XWIFI
    • 网络状态检测:科学上网必备工具,如果说 google 是帮你搜索的,那么 baidu 就是帮你检测网络状态的
    root@archiso ~ # ping www.baidu.com

3.4 更新系统时间

root@archiso ~ # timedatectl set-ntp true

没有消息就是最好的消息

3.5 (FBI WARNING)分区与格式化

这部分操作一定要小心

  • 查看分区情况

    root@archiso ~ # fdisk -l
    Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
    ... ...
    Device            Boot    Start       End     Sectors     Size    Id  Type
    /dev/nvme0n1p1    *       4096    209965055   209960960   100.1G  7 HPFS/NTFS/exFAT
    /dev/nvme0n1p2        209965056   629395455   419430400   200G    7 HPFS/NTFS/exFAT

    /dev/nvme0n1p1 就是 win10 的 boot 分区, /dev/nvme0n1p2 它的 End 之后存在很大空间,这一块即为未分配空间,用于 arch linux

  • 创建引导分区

    BIOS 跳过

  • 创建根分区

    见图

    • 我的硬盘并非全新,所以如果你的硬盘是全新的一定要参考原文创建
    • 此外,需要注意的是,如果你的未分配空间在两个分区之间,在输入起始和结束扇区时一定要看好 Start 和 End,不是默认敲回车就好了!
    • 如果你在输入 w 之前有什么错误操作,完全可以输入 q 直接退出,这样错误操作不会被保存。但如果你已经输入了 w,那就自己想办法吧…
  • 格式化刚刚创建的分区

    自己的分区叫什么看清楚,别看见命令就敲…

    root@archiso ~ # mkfs.ext4 /dev/nvme0n1p3

    md出错了。。。具体什么原因我也没搞清楚,没事反正你现在什么也都还没有。回到 win10 重新把分区格式化了开始。这一次我选择把 /dev/nvme0n1p1/dev/nvme0n1p2 连在一起,不过按道理来说这个东西是没有影响的

3.6 挂载分区

自己的分区叫什么看清楚,别看见命令就敲…

这是 BIOS 引导方式的命令

root@archiso ~ # mount /dev//dev/nvme0n1p3

3.7 选择镜像源

镜像源的选择需要根据自己的地区来决定,相信看到这篇文章的大多都是 P.R. China 地区的,所以我们选择清华的源

root@archiso ~ # vim /etc/pacman.d/mirrorlist
Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

:wq 保存并退出

3.8 安装基本包

这一步是安装最基本的 ArchLinux 包,需要联网

root@archiso ~ # pacstrap /mnt base base-devel

无错误输出即可

3.9 配置 fstab

生成自动挂载分区的 fastab 文件

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

控制台无输出,需要检查输出生成的文件是否正确:

root@archiso ~ # cat /mnt/etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.

#      
# /dev/nvme0n1p3 UUID=...
# /dev/nvme0n1p3    /   ext4    rw,relatime,data=ordered    0 1

注意检查你的新分区是否挂载到了根分区

3.10 Chroot(Change root)

root@archiso ~ # arch-chroot /mnt

这一步将操纵权交给新安装的 Linux 系统,以后的操作都会在这个系统中进行。此外,如果以后系统出了问题,只需要重新插入 U 盘启动,将系统的根分区挂载到 /mnt,输入这条命令就可以进入系统修复了。

执行之后会发现终端变为这个样子:

[root@archiso /]#

3.11 设置时区

[root@archiso /]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@archiso /]# hwclock --systohc

3.12 按照一些必备软件包

ArchLinux 下有个非常强大的包管理工具 pacman,安装命令格式为 pacman -S package_name

[root@archiso /]# pacman -S vim dialog wpa_supplicant ntfs-3g networkmanager

按道理来说一路确认就可以了

3.13 设置语言选项

[root@archiso /]# vim /etc/locale.gen

将文件中以下四个语言前面的 # 去掉:

  • en_US.UTF-8 UTF-8
  • zh_CN.UTF-8 UTF-8
  • zh_HK.UTF-8 UTF-8
  • zh_TW.UTF-8 UTF-8

保存并退出,并使其生效:

[root@archiso /]# locale-gen
Generating locales...
  en_US.UTF-8 UTF-8... done
  zh_CN.UTF-8 UTF-8... done
  zh_HK.UTF-8 UTF-8... done
  zh_TW.UTF-8 UTF-8... done

配置默认语言:

[root@archiso /]# vim /etc/locale.conf
1: LANG=en_US.UTF-8

保存并退出

3.14 设置主机名

[root@archiso /]# vim /etc/hostname
1: jasonchan

第一行输入自己想设定的主机名,保存并退出。然后编辑 /etc/hosts

[root@archiso /]# vim /etc/hosts
127.0.0.1   localhost.localdomain   localhost
::1         localhost.localdomain   localhost
127.0.1.1   jasonchan.localdomain   jasonchan

保存并退出

3.15 设置 root 密码

[root@archiso /]# passwd

这个自己设置就好了,注意终端里 # 开头表示以 root 身份执行命令,普通用户身份是 $

3.16 安装 Intel-ucode(针对 Intel CPU)

[root@archiso /]# pacman -S intel-ucode

3.17 安装 Bootloader(针对 BIOS 引导)

采用 grub2

  • 安装 os-prober,用于配合 grub 检测已经存在的系统和自动设置启动选项

    [root@archiso /]# pacman -S os-prober
  • 安装 grub

    [root@archiso /]# pacman -S grub
  • 部署 grub

    注意最后一项是磁盘的名字,而不是刚才划出来的分区名

    [root@archiso /]# grub-install --target=i386-pc /dev/nvme0n1
    Installing for i386-pc platform.
    Installation finished. No error reported.
  • 生成配置文件

    [root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
    grub-probe: error: cannot find a GRUB drive for /dev/sda1. Check your device.map.
    Found Windows 10 on /dev/nvme0n1p1

    报了上述错误,据说重启再输入一遍这条命令即可,对我来说确实是这样,但是重启后一定要把 U 盘拔掉,报的错误是 /dev/sda1 ,这个分区在 U 盘上。

  • 检测是否安装成功

    [root@archiso /]# vim /boot/grub/grub.cfg

    文件尾部能够找到 win10 所在的分区

    如果还有其他错误参考这里

3.18 重启

[root@archiso /]# exit
[root@archiso /]# reboot

三、配置 ArchLinux

1. 必要配置

1.1 连接网络

注意你现在的系统还没有那么流弊,每次开机之后都要手动联网,甚至密码都要重新输入

  • 有线

    [root@archiso /]# dhcpcd
  • 无线

    [root@archiso /]# wifi-menu

1.2 创建交换文件

交换文件可以在物理内存不足的时候将部分内存暂存到交换文件中,避免系统由于内存不足而完全停止工作。之前我们通常采用单独一个分区的方式作为交换分区,现在更推荐采用交换文件的方式,更便于我们的管理。

[root@archiso /]# fallocate -l 512M /swapfile(分配交换空间)
[root@archiso /]# chmod 600 /swapfile(更改权限)
[root@archiso /]# mkswap /swapfile(设置交换文件)
Setting up swapspace version 1, size = 512 MiB (536866816 bytes)
no label, UUID=...
[root@archiso /]# swapon /swapfile(启用交换文件)
[root@archiso /]# vim /etc/fstab(为交换文件设置入口)

最后新加一行输入 /swapfile none swap defaults 0 0

1.3 新建用户

[root@archiso /]# useradd -m -G wheel jasonchan
  • -m:在创建时同时在/home目录下创建一个与用户名同名的文件夹,具有以下优点:
    • 只要家目录不变,重装系统后只需要重新安装一下软件包(它们一般不存放在家目录),然后所有的配置都会从家目录中读取。
    • 可以在家目录不变的情况下更换发行版而不用重新配置环境。
    • 切换用户后所有的设置会从新的用户的家目录中读取,将不同用户的资料与软件设置等完全隔离。
    • 有些著名的配置文件比如vim的配置文件~/.vimrc,只要根据自己的使用习惯配置一次, 在另一个Linux系统下(例如你的服务器)把这个文件复制到家目录下,就可以完全恢复配置。
  • -G:把用户加入一个组
  • wheel:组名,后面介绍为什么加入这个组
[root@archiso /]# passwd jasonchan

1.4 安装和配置 sudo

  • 安装 sudo

    [root@archiso /]# pacman -S sudo
  • 配置 sudo

    [root@archiso /]# visudo

    专门用于编辑 sudo 的配置文件,能够帮助检查文件的格式,找到 # %wheel ALL=(ALL)ALL 去掉 # 注释,保存并退出。

    这一步将 wheel 这个组的所有用户都分配了 sudo 权限

2. 图形化界面

2.1 安装显卡驱动

大多数电脑是 Intel 的集显(不是集显也推荐按照集显安装驱动),NVIDIA 的独显驱动并非必需品。如果集显驱动装不上可以试一试独显的

[root@archiso /]# sudo pacman -S xf86-video-intel

2.2 安装图形服务

桌面环境需要图形服务的支持,这里选择开源图形服务 xorg, 安装其所有组件即可

[root@archiso /]# sudo pacman -S xorg

2.3 安装桌面环境

如果想自己选择,可以参考这里。本文仅对 xfceKDE(Plasma) 进行介绍

  1. xfce

    [root@archiso /]# sudo pacman -S xfce4 xfce4-goodies
  2. KDE(Plasma)

    [root@archiso /]# sudo pacman -S plasma kde-applications kde-l10n-zh_cn

以上两个任选其一即可,也可以都安装,默认是 KDE。安装完之后需要安装桌面管理器,这里采用 sddm,它可以帮助我们登录以及选择桌面环境

[root@archiso /]# sudo pacman -S sddm
[root@archiso /]# sudo systemctl enable sddm(开机自动启动)

2.4 配置网络

最好在安装完重启前执行

在没有图形化界面时我们采用的网络配置服务是 netctl,有了桌面环境之后可以使用 NetworkManager

[root@archiso /]# sudo systemctl disable netctl(禁用 netctl)
[root@archiso /]# sudo systemctl enable NetworkManager(启用 NetworkManager)
[root@archiso /]# sudo pacman -S network-manager-applet

至此,重启电脑就可以选择图形化界面和用户登陆了

四、自定义安装软件包

# TODO

Ref

  • 以官方Wiki的方式安装ArchLinux
  • ArchLinux安装后的必须配置与图形界面安装教程
  • ArchLinux你可能需要知道的操作与软件包推荐「持续更新」
  • Wireless network configuration
  • Arch Linux命令行配置WiFi网络连接

你可能感兴趣的:(Linux)