Win10 上 安装 ArchLinux(BIOS 引导)

2023-05-16

本文档记录了第一次在 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.

# <file system> <dir> <type> <options> <dump> <pass>
# /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网络连接
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Win10 上 安装 ArchLinux(BIOS 引导) 的相关文章

  • 在pycharm上安装Tensorflow1.13 win10

    Tensorflow安装教程 清明回家就折腾了几天的tensorflow 我是使用pycharm安装的 所以下面基于pycharm进行安装 tensorflow1 13 0基础配置 python3 7 cuda10 0 适合cuda的cuD
  • win10上安装python3.9.0+robotframework

    win10上安装python3 9 robotframework python3 9 0下载安装 robotframework安装 wxpython安装 ride安装 python3 9 0下载安装 下载地址 python3 9 0下载地址
  • WIN10-22H2专业版_电脑维修人员专用装机系统镜像【04.20更新】

    WIN10 22H2专业版是由站长亲自封装的电脑维修人员专用装机系统镜像 系统干净无广告 稳定长效不卡顿 适合电脑维修店用来维修电脑重装系统 此版本是WIN10系统里非常稳定的正式版本之一 适合在维修电脑时重装系统或者大批量装机使用 本次封
  • WIN10局域网共享方法

    1 控制面板 网络和 Internet 网络和共享中心 高级共享设置 打开启动网络发现 启动文件共享和打印机共享 2 win r运行gpedit msc 打开本地组策略编辑器 找到 计算机配置 管理模板 网络 Lanman工作站 启动不安全
  • Archlinux 折腾记录~

    新建虚拟机 值得注意 典型配置 直接选择镜像文件 官网下载 版本选择 其他Linux N x 或更高版本内核64位 开机前 虚拟机设置 gt 选项 gt 高级 gt 选择UEFI 必须 配置 1 确保网络畅通 ping www baidu
  • everything 和quicklook联动

    everything 和quicklook联动 老凶残的解决方案了 https www logcg com archives 1584 html
  • win10 的图标丢失了怎么办?

    情况说明 几分钟前 自己手贱 居然一不小心把那D盘的分区表给删了 虽然说是借助DiskGenius即使找了回来 但是一个尴尬的情况出现了 原来装在D盘的程序虽然可以用 但是图标却没了 这对于有强迫症的我来说 让我浑身不舒服 解决方案 首先
  • CUDA 10 不支持 7 之后的 Gcc 版本 - Arch Linux 中的 Qt 错误

    我正在运行 Arch Linux 并尝试在 Qt 中构建一个项目 但是 Qt 出现以下错误 opt cuda include crt host config h 129 错误 error 不支持的 GNU 版本 不支持 7 之后的 gcc
  • 我的游戏的控件在第一次按下 int 16h / ah=1 按键后冻结

    我正在用程序集 8086 编写游戏 我修复了游戏无法打开的问题 但无法修复控件 The ESC key works When I press it it goes to QUIT function but if any other key
  • 引导加载程序如何读取 DVD(cd)?

    我有一个用汇编语言编写的第一阶段引导加载程序 我需要它从 DVD 或 CD 加载第二阶段引导加载程序 我只找到了从软盘或硬盘读取的示例 那里使用的中断是13h 在中断描述中它说它可以读取软盘和硬盘 我尝试使用 13h 来读取 CD 就好像它
  • 我希望能够通过网络从 BIOS 提取错误日志

    我希望能够通过网络从 BIOS 提取错误日志 查看 MSDN 中的 Win32 BIOS 我没有看到任何定义错误日志的内容 很乐意在 C 中使用 WMI 来完成此操作 但我愿意接受建议 是否可以 Win32 BIOS 没有包含 BIOS 错
  • gnome-terminal 无法工作,可能是因为区域设置

    我在日语环境下安装了Antergos Arch的简易版 但我想把语言改为英语 所以我建议维基文章 https wiki archlinux org index php Locale然后取消注释后运行一些命令 en US UTF 8 UTF
  • 如何使用java获取BIOS信息?

    请告诉我是否可以使用 java 程序获取 BIOS 设置信息 我使用 Windows 7 作为操作系统 这取决于您要阅读的信息 Java 无法读取 BIOS 但 java 可以查询 WMI google for jWMI 这可能会获取您需要
  • 使用 int 13h 读取的扇区数量多于磁道上的扇区数量

    顺序是什么int 13h with ah 02h会读19部门起始于 C H S 0 0 1 提供了 2 个磁头 每磁道 18 个扇区 每面 80 个磁道的 软盘 磁盘几何结构 或者 更一般地说 当它到达磁道 0 的末尾 磁头 0 时会发生什
  • 没有操作系统直接运行的程序叫什么名字?

    当我试图提出有关该主题的其他问题时 我很难正确表达我的问题 那么直接在相关计算机上运行的程序的正确名称是什么 一个可以描述内核和引导加载程序的术语 因为它们是在没有操作系统的情况下直接执行的 C 标准称之为 独立环境 我觉得这个术语和我见过
  • 尝试了解 asm 中断,特别是 16h func 01H

    这是家庭作业 我不期望你解决我的问题 只需要一些理解 我必须在 dosbox 中使用 ASM 和 C 我的第一个问题是我不太明白如何使用 BIOS 中断 任何带有代码示例的好的教程都会非常感激 好吧 我知道有中断 每个中断都有自己的功能和参
  • Arch Linux 中没有 OpenGL 3 标头

    我正在尝试使用 FreeGLUT 编译一个非常简单的 Hello world OpenGL 3 3 程序 在我找到的所有教程中 它们都包含标题 gl3 h 问题是我没有这样的头文件 ls l usr include GL total 216
  • 如何在arch linux中降级到cuda 10.0?

    我想在 arch linux 中将我的 cuda 10 1 降级到 cuda 10 0 因为 TensorFlow 仅需要 cuda 10 0 我在 arch Linux 的 CUDA 10 1 上安装了tensorflow 但我不知道te
  • 为什么 ssh-agent 需要 root 访问权限?

    我刚刚安装了 Archbang 并尝试克隆我的 Git 项目 这需要 SSH 密钥 过去 我在 Ubuntu 和 RedHat 机器上遵循 Github 指南取得了成功 但由于某种原因 它在我的新 Arch 安装上不起作用 我已使用以下命令
  • 如果默认禁用 A20 线,如何在 0xFFFFFFF0 处访问 BIOS ROM?

    我正在阅读有关 A20 线的信息http wiki osdev org A20 Line http wiki osdev org A20 Line 这似乎表明 A20 线默认被禁用 在Pentium上 如果硬复位后立即输出的地址为0xFFF

随机推荐