arch linux安装

2023-05-16

arch linux安装

  • IOS制作
  • 开始安装
    • 联网
    • 分区
    • 开始安装
  • 系统初始化
  • grub添加window10引导
  • 安装后的配置
    • 更改国内源
  • 问题总结
      • 体眠后不能唤醒的问题
  • 总结

IOS制作

开始安装

联网

可以先通过ip link命令查看网卡状态

[fatty@ARCHGZZ Desktop]$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp42s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether d8:bb:c1:70:da:f5 brd ff:ff:ff:ff:ff:ff
3: wlo1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether a0:e7:0b:7e:55:8b brd ff:ff:ff:ff:ff:ff
    altname wlp41s0

注意<…>中的内容,若没有UP出现,则证明该设备没有启用,使用命令

[fatty@ARCHGZZ ~]$ ip link set up wlan0

开启设备,开启过程可能会出现和rf相关的错误,此时需要手动找开rf模块,rf模块主要有两级保护,一级是hardware的,若没有开启,则需要手动拔动板卡上的开关,software可以使用下面命令开启,执行完后重复上面的步骤即可。

[fatty@ARCHGZZ ~]$ rfkill list         #查询所有射频模块
0: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no
1: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no    #no是正常的关闭状态
 [fatty@ARCHGZZ ~]$ rfkill unblock 1     #开启wlan0

archiso默认的无线网络管理为iwd

[root@archiso~] iwctl
[iwd#] device list                              #查询机器的网卡设备
[iwd#] station <devicename> scan                #扫描附近 wifi 网络
[iwd#] station <devicename> get-networks        #显示扫描的结果
[iwd#] station <devicename> connect <wifi-ssid> #连接 wifi 网络
[iwd#] exit        

分区

首先查看硬盘使用情况:

[fatty@ARCHGZZ ~]$ sudo fdisk -l
Disk /dev/nvme0n1: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: WDS500G3X0C-00SJG0                      
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 77CE2B5C-588E-4B87-A400-7B4A2FA63337

Device             Start       End   Sectors   Size Type
/dev/nvme0n1p1      2048    206847    204800   100M EFI System
/dev/nvme0n1p2    206848    239615     32768    16M Microsoft reserved
/dev/nvme0n1p3    239616 471793444 471553829 224.9G Microsoft basic data
/dev/nvme0n1p4 471793664 472963071   1169408   571M Windows recovery environment
/dev/nvme0n1p5 472963072 976771071 503808000 240.2G Microsoft basic data


Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WDC WD10EZEX-00B
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 0B70BC18-E4CE-4FDD-8D2F-733E974968BC

Device         Start        End    Sectors   Size Type
/dev/sda1       2048   10487807   10485760     5G BIOS boot
/dev/sda2   10487808   77596671   67108864    32G Linux swap
/dev/sda3   77596672  182454271  104857600    50G Linux filesystem
/dev/sda4  182454272  287311871  104857600    50G Linux root (x86)
/dev/sda5  287311872 1953525134 1666213263 794.5G Linux filesystem

分区参考(Linux分区下必须存在的分区是/boot启动分区和交换分区,/root和/boot和其他分区可有可无,但我还是更喜欢单独分区)

分区名大小文件系统格式命令
/boot5Gfat32mkfs.fat -F 32
swap32Gswapmkswap
根分区100Gext4mkfs.ext4
/home剩余空间ext4mkfs.ext4
下面开始利用cgdisk工具进行分区:
cgdisk /dev/sda

进入如下界面

                                                                                                                                                        cgdisk 1.0.8

                                                                                                                                                    Disk Drive: /dev/sdb
                                                                                                                                                Size: 1953525168, 931.5 GiB

Part. #     Size        Partition Type            Partition Name
----------------------------------------------------------------
   1        16.0 MiB    Microsoft reserved        Microsoft reserved partition
   2        293.8 GiB   Microsoft basic data      Basic data partition
   3        293.0 GiB   Microsoft basic data      Basic data partition
   4        344.7 GiB   Microsoft basic data      Basic data partition
            1.7 MiB     free space










    [ Align  ]  [ Backup ]  [ Delete ]  [  Help  ]  [  Info  ]  [  Load  ]  [  naMe  ]  [  Quit  ]  [  Type  ]  [ Verify ]  [ Write  ]


                                                                                                                                            Change the filesystem type code GUID

还是很人性化的GUI哦,哈哈。
通过上下选中想要操作的分区,通过左右选中将要进的操作,比如new,delete等等 。具体的用法这里就不多介绍了,等下次再补充上,其实根据提示完全可以操作了。
分区完成后,接着进行文件系统的操作。具体命令是上面表格中的第四列。以boot例,具体命令应该为

mkfs.fat -F 32 /dev/sda1   #具体分区号需要使用fdisk命令查看

之后挂载分区

mount /dev/sda5    /mnt
cd /mnt
mkdir /boot      #先创建/mnt/boot目录
mount /dev/sda1   /mnt/boot

看一下挂载情况

[fatty@ARCHGZZ /]$ df  -h
Filesystem      Size  Used Avail Use% Mounted on
dev             7.8G     0  7.8G   0% /dev
run             7.9G  1.6M  7.9G   1% /run
/dev/sda4        49G   12G   36G  24% /
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           7.9G   32K  7.9G   1% /tmp
/dev/sda1       5.0G   65M  5.0G   2% /boot
/dev/sda5       781G  1.2G  741G   1% /home
tmpfs           1.6G   72K  1.6G   1% /run/user/1000

开始安装

下面开始安装,网络没问题的情况下,执行下面命令:

pacstrap /mnt base linux linux-firmware

此处可能需要等一会儿,可以修改下软件源,加快下载速度,后面会介绍。

系统初始化

  1. 先利用genfstab命令生成fstab文件
[root@archiso~] genfstab -U /mnt >> /mnt/etc/fstab
  1. 安装文本编辑工具(一定记得安装,不然重启后会发现没网,还不能修改配置)
pacman -S vim
  1. 进入到安装的系统
[root@archiso~] arch-chroot /mnt
  1. 设置root密码
    使用passwd设置即可。
  2. 安装及配置引导程序
  • 这里使用 grub 作为引导程序,首先安装必要软件包。
[root@archiso~] pacman -S grub efibootmgr

因为我的 EFI 分区在 /efi 目录下,所以上述命令的 --efi-directory 参数就设置为 /efi

  • 执行下面命令
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchLinux

efi-directory选项为efi分区的挂载点

  • 使用 grub-mkconfig 生成 grub 配置文件
[root@archiso~] grub-mkconfig -o /boot/grub/grub.cfg

grub添加window10引导

  1. 先要知道安装有win10系统的分区的uuid.可以借助以下命令
[fatty@ARCHGZZ ~]$ sudo fdisk -l
Disk /dev/nvme0n1: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: WDS500G3X0C-00SJG0                      
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 77CE2B5C-588E-4B87-A400-7B4A2FA63337

Device             Start       End   Sectors   Size Type
/dev/nvme0n1p1      2048    206847    204800   100M EFI System
/dev/nvme0n1p2    206848    239615     32768    16M Microsoft reserved
/dev/nvme0n1p3    239616 471793444 471553829 224.9G Microsoft basic data
/dev/nvme0n1p4 471793664 472963071   1169408   571M Windows recovery environment
/dev/nvme0n1p5 472963072 976771071 503808000 240.2G Microsoft basic data

通过以上命令可以看到 ,我win10所在的系统分区名是/dev/nvme0n1p1,下面可以通过以下命令来获取该分区的Uuid.

[fatty@ARCHGZZ ~]$ sudo blkid /dev/nvme0n1p1
/dev/nvme0n1p1: UUID="1871-373E" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="c9752fde-e592-4115-938c-7482d2216cf1"

从而得到该分区uuid为1871-373E,需要修改grub.cfg文件

  • 此文件可以直接修改,但是并不建议这样操作,
  • grub提供了配置脚来完成此此项工作,用户可以以修改模板的方式来操作/boot/grub/grub.cfg.模板的路径为/etc/grub.d/。路径下都是模板文件,其中我们可以操作的40_sustom(若是需要引导多个操作系统,可以将此文件复制多个,区分命名并在/boot/grub/grub.cfg中添加模板标签。
  • 需手动在模板文件中添 加如下内容:
menuentry "Window 10" {
                insmod part_gpt
                insmod fat
                search --no-floppy --fs-uuid --set 1871-373E     #此处替换为第1步中获得的uuid
                chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
  1. 执行自动化命令
[fatty@ARCHGZZ grub.d]$ sudo grub-mkconfig -o /boot/grub/grub.cfg
  1. 完成,重启

安装后的配置

更改国内源

  1. 编辑/etc/pacman.d/mirrorlist配置文件:
sudo vim /etc/pacman.d/mirrorlist

下面列出部分国内pacman源

# 清华大学
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
## 163
Server = http://mirrors.163.com/archlinux/$repo/os/$arch
## aliyun
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch

顺序越靠前的优先级越高

  1. 执行sudo pacman -Syu 命令更新pacman。

问题总结

体眠后不能唤醒的问题

解决方法 :

#在 /etc/modprobe.d 创建 nobeep.con 黑名单。禁用nvidiafb加载
blacklist nvidiafb

我们在linux中安装驱动,有时会遇到受限或冲突,通常解决方式都是要修改blacklist.conf.
对内核模块来说,黑名单是指禁止某个模块装入的机制
在 /etc/modprobe.d/ 中创建 .conf 文件,使用 blacklist 关键字屏蔽不需要的模块,例如如果不想装入 igbvf模块:
/etc/modprobe.d/blacklist.conf
blacklist igbvf
Linux系统一般默认安装的是开源的nouvea显卡驱动,它与nvidia显卡驱动产生冲突,欲装nvidia必禁nouvea!其次Nvidia驱动默认安装OpenGL桌面,然而这又与GNOME桌面冲突,为了系统不宕机,也需禁用nvidia的OpenGL,过程中需要搭建gcc、kernel等环境。如此,可顺利安装NVIDIA显卡驱动。

总结

到此,安装完成。拔掉U盘,重新启动电脑就可以啦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

arch linux安装 的相关文章

  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • GLIBCXX_3.4.26 未找到在 BeagleBone 上运行交叉编译的程序

    我有以下程序 include
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • 为什么内核需要虚拟寻址?

    在Linux中 每个进程都有其虚拟地址空间 例如 32位系统为4GB 其中3GB为进程保留 1GB为内核保留 这种虚拟寻址机制有助于隔离每个进程的地址空间 对于流程来说这是可以理解的 因为有很多流程 但既然我们只有 1 个内核 那么为什么我
  • 大多数 Linux 系统头文件与 C++ 兼容吗?

    大多数 Linux 系统头文件 API C 兼容吗 今天我试图做这样的事情 include
  • fopen 不返回

    我在 C 程序中使用 fopen 以只读模式 r 打开文件 但就我而言 我观察到 fopen 调用没有返回 它不返回 NULL 或有效指针 执行在 fopen 调用时被阻止 文件补丁绝对正确 我已经验证过 并且不存在与权限相关的问题 任何人
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两
  • 在 Linux 上使用多处理时,TKinter 窗口不会出现

    我想生成另一个进程来异步显示错误消息 同时应用程序的其余部分继续 我正在使用multiprocessingPython 2 6 中的模块来创建进程 我试图用以下命令显示窗口TKinter 这段代码在Windows上运行良好 但在Linux上
  • jpegtran 优化而不更改文件名

    我需要优化一些图像 但不更改它们的名称 jpegtran copy none optimize image jpg gt image jpg 但是 这似乎创建了 0 的文件大小 当我对不同的文件名执行此操作时 大小仍然完全相同 怎么样 jp
  • SSE:跨页边界的未对齐加载和存储

    我在页面边界旁边执行未对齐加载或存储之前读过某处 例如使用 mm loadu si128 mm storeu si128内在函数 代码应首先检查整个向量 在本例中为 16 个字节 是否属于同一页 如果不属于同一页 则切换到非向量指令 我知道
  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • 查找哪些页面不再与写入时复制共享

    假设我在 Linux 中有一个进程 我从中fork 另一个相同的过程 后forking 因为原始进程将开始写入内存 Linux写时复制机制将为进程提供与分叉进程使用的不同的唯一物理内存页 在执行的某个时刻 我如何知道原始进程的哪些页面已被写
  • 查找哪个程序运行另一个程序

    我有一个 NAS 运行在 Redhat Linux 的有限版本上 我按照指示破解了它 这样我就可以访问 shell 这很有帮助 我还做了一些修改 其他人也做过修改 除了一个问题之外 它们似乎都工作得很好 不知何故 每隔 22 天 系统就会关
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute

随机推荐