archlinux安装教程以及自己踩过的坑

archlinux安装教程以及自己踩过的坑引言 linux 是一种哲学 最近喜欢上了 arch 的简洁 可高度定制化 滚动更新和设计哲学 准备日常办公从 ubuntu 转向 arch 目前已完成安装 正在使用 arch 写这篇博客 而事实证明 arch 确实没让我失望 它的确是一个非常不错的发行版 安装环境 cpu i5ram 12G 台式电脑一块硬盘 有剩余空间或新硬盘都可以 我这里用的是 1T 新硬盘 GPT 分区 UEFI 启动 一块 8GU 盘从

引言:

linux是一种哲学。最近喜欢上了arch的简洁,可高度定制化,滚动更新和设计哲学,准备日常办公从ubuntu转向arch,目前已完成安装,正在使用arch写这篇博客,而事实证明arch确实没让我失望,它的确是一个非常不错的发行版.

安装环境:

  1. cpu: i5 ram:12G 台式电脑
  2. 一块硬盘(有剩余空间或新硬盘都可以,我这里用的是1T新硬盘,GPT分区,UEFI启动)
  3. 一块8G U盘
  4. 从官网或者其他镜像源下载的iso系统镜像(e.g:archlinux-2017-08.01-x86_64.iso)

安装过程:

制作U盘启动基础系统

  1. 在ubuntu或者其他Linux系统中执行
fdisk -l 
dd if=xxx.iso of=/dev/sdc 

硬盘分区

  1. 插入U盘开机选择UEFI或传统bios启动
  • U盘启动,如果不是UEFI,请选择传统模式的U盘启动,一般是开机按F12,F10,ESC,DELETE等键,我这里是F12.
  1. 更新系统时间
    • timedatectl set-ntp true
  2. 使用fdisk对硬盘进行分区
附上我这里使用的分区方案(在后面的分区方案中,我取消了usr分区,交给了/)
  • /swap 16G
  • / 300G
  • /home 200G
  • /boot/efi 10G
这里使用的分区命令
  • parted /dev/sda 然后执行 mklabel gpt 设置sda为gpt分区
  • fdisk -l #查看当前所有硬盘和分区信息
  • fdisk /dev/sda #进入指定硬盘进行操作
  • 进入后 w 保存退出 q 不保存退出 n 新建分区 然后选择分区序列号 选择起始扇区,一般前面几个可以直接回车默认,传统硬盘都是 512字节扇区,可根据硬盘说明扇区大小进行计算,或者结尾扇区使用+100G这种形式更加简单。d 删除分区
格式化分区(这里有坑,注意swap分区和/boot/efi分区格式化方式不同)
  • fdisk -l
  • mkfs.ext4 /dev/sdax (普通分区格式化为ext4)
  • mkswap /dev/sdax (swap分区格式化建立方式)
  • swapon /dev/sdax(激活系统swap分区)
  • mkfs.vfat -F32 /dev/sdaY (boot分区与GPT,UEFI有关,使用此命令格式化为fat32)
分区挂载(这里有坑,注意swap分区是不用挂载的,boot分区挂在应该挂在到/boot/efi[推荐],而不是/boot)
  • mount /dev/sdax /mnt 根分区
  • 使用多个分区,还需要为其他分区创建目录并挂载它们(/mnt/boot、/mnt/home、……)
  • mkdir -p /mnt/boot/efi
  • mount /dev/sda2 /mnt/boot/efi
  • 其他的和上面类似
坑来了,这里一定要看执行下mount看是否成功挂载,否则可能会让你从头再来。

安装

安装基本系统
  • pacstrap /mnt base
  • pacstrap /mnt base linux linux-firmware
配置系统(有坑)
  • 用以下命令生成 fstab 文件 (用 -U 或 -L 选项设置UUID 或卷标):
  • genfstab -U /mnt >> /mnt/etc/fstab
  • 特别提醒:在执行完以上命令后,用cat检查一下生成的 /mnt/etc/fstab 文件是否正确。对比blkid命令下硬盘分区UID和此文件是否对应,我这里就是因为没有mount好,生成的fstab也不对,导致安装完成无法启动.
Change root 到新安装的系统:
  • arch-chroot /mnt
设置时区
  • ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 设置时间标准 为 UTC,并调整 时间漂移:
  • hwclock –systohc –utc
Locale本地化配置
  • pacman -S vim (习惯vim直接装一个,使用默认vi也可以)
  • vim /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 设置为en_US.UTF-8:
  • echo LANG=en_US.UTF-8 > /etc/locale.conf
设置主机名
  • echo archlinux > /etc/hostname
创建一个初始 RAM disk:
  • mkinitcpio -p linux(有坑,官方wifi说改动了mkinitcpio.conf可以不用执行这个init,我开始以为我没有修改,不用init,结果一下就踩进去了,友情提示这个最好不要忘了执行init一次 可以不执行 对应上面pacstrap /mnt base linux linux-firmware )
设置 root 密码:
  • passwd
配置网络
  • pacman -S dialog wpa_supplicant netctl wireless_tools #现在不安装 重启之后如果只有wifi则可能无法连接网络
  • 查看网卡名:
  • ip link show
  • 设置启动dhcp:
  • systemctl enable [可能会报错安装找不到这个service 可不执行此命令]

安装引导程序

我这里选择的grub,注意这里一定得装,否则是无法引导系统的,并且要特别小心,否则很容易无法对系统进行引导启动.

  • UEFI版本:
  • pacman -S grub-efi-x86_64
  • EFI管理器:
  • pacman -S efibootmgr
  • 双系统必需管理器:(我这里由于bios和uefi方式不同,无法和ubuntu相互引导)
  • 安装进EFI分区:
  • grub-install –efi-directory=/boot/efi –bootloader-id=grub
  • os-prober 识别硬盘上其他系统的工具:(uefi,bios冲突不能互相引导,如果是uefi,下面两条命令可不执行,上面的就够了,bios可选择执行下面的安装):
  • pacman -S grub
  • grub-install –recheck /dev/sda
  • 生成配置文件:
  • grub-mkconfig -o /boot/grub/grub.cfg
  • 友情提示:生成完成cat下/boot/grub/grub.cfg文件是否正常生成.如果不对需要进行自行检测,正常才能继续下面的操作.

退出chroot模式,并umount

  • 先umount /mnt里面的boot,home等分区,然后umount /mnt 根分区
坑来了,到这里基本已完成基础系统的安装,但是注意最好不要使用root然后在关机的瞬间把u盘拔掉,我开始就是,一切正常,但是使用reboot并立马拔掉U盘,导致无法进入系统,这里可能是shutdown的时候有部分文件未写入完成就拔掉U盘可能导致数据异常,所以不能进入系统.于是后来就学乖了,先shutdown now关机,再开机进入,一切正常。
  • 友情提示:如果你和我一样同时存在mbr,bios和gpt,uefi,需要进bios设置使用bios还是uefi来进行引导启动,否则无法进入系统.
进入安装好的基础系统,然后依次检查网络连接,ip addr,ping,curl,检查分区及目录fdisk -l,du -h ,df -h,新建sudo用户,这里说几个较重要的

安装字体

  • pacman -S wqy-zenhei wqy-microhei (中文字体)ttf-dejavu adobe-source-code-pro-fonts (等宽字体) wqy-microhei
  • pacman -S fcitx fcitx-im fcitx-googlepinyin 输入法
  • /etc/profile加入:(我这里.xinitrc .xprofile 不会生效,如果你也和我一样不生效,可以参考下我这里)
export XIM=fcitx export XIM_PROGRAM=fcitx export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx 

安装网络管理器

  • pacman -S networkmanager
  • pacman -S network-manager-applet xfce4-notifyd
  • networkmanager-pptp:
  • pacman -S networkmanager-pptp
  • systemctl start NetworkManager
  • systemctl enable NetworkManager
  • 友情提示:注意大小写

安装gnome(根据需要你也可以选择kde,xfce等等其他发行版,我习惯用gnome)

  • Intel集成显卡驱动:#选装 集显驱动已被集成在安装包中
  • pacman -S xf86-video-intel
  • 安装显卡驱动:
  • pacman -S xf86-video-vesa
  • xorg服务:
  • pacman -S xorg-server xorg-xinit xorg-twm xterm
  • gnome:
  • pacman -S gnome gnome-extra gnome-tweak-tool
  • lib256选择1 根据自己选择配置 我这里选择的1
  • gnome 的窗口管理器#已默认安装好,如果没有再手动安装下:
  • pacman -S gdm
  • systemctl enable gdm

然后reboot重启就可以进入系统了,安装完成.安装过程参考了下面两位大大@禾白小三飘@u0的宝贵经验,结合官方wiki进行安装,在此表示感谢,同时也希望我的这篇博文能帮助大家,少踩坑,如果有问题也可以在下面给我留言,欢迎讨论。

参考文献:

  1. 丰富的arch wifi资料库
  2. http://www.linuxidc.com/Linux/2016-09/134953.htm
  3. VirtualBOX安装Archlinux过程
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226170.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午7:40
下一篇 2026年3月17日 上午7:41


相关推荐

  • Loading class `com.mysql.jdbc.Driver’. This is deprecated警告处理,jdbc更新处

    Loading class `com.mysql.jdbc.Driver’. This is deprecated警告处理,jdbc更新处声明:使用JDK9、MYSQL8、idea  1.报错信息是这样的;处理:提示信息表明数据库驱动com.mysql.jdbc.Driver’已经被弃用了、应当使用新的驱动com.mysql.cj.jdbc.Driver’所以,按照提示更改jdbc.properties配置 .com.mysql.jdbc.Driver 改为 com.mysql.cj.jdbc.Driver…

    2022年6月23日
    42
  • sql2000数据库置疑造成的原因以及如何解决置疑「建议收藏」

    sql2000数据库置疑造成的原因以及如何解决置疑「建议收藏」sql2000数据库置疑造成的原因以及如何解决置疑

    2022年8月21日
    6
  • android listview更新数据

    android listview更新数据要使listView的列表项发生改变时及时显示在UI中,就要更新listView的数据。两种方法:方法一:数据直接在adapter上修改,adapter.add().等方法方法二:本质上是listview绑定Adapter,Adapter关联List,因此List变化后导致Adapter同步变化;再通过调用adapter.notifyDataSetChanged();方法使得li

    2022年7月17日
    20
  • GIS制图人员的自我修养(1)–制图误区

    GIS制图人员的自我修养(1)–制图误区GIS 制图人员的自我修养 by 李远祥 nbsp nbsp nbsp nbsp nbsp 最近一直坚持写 GIS 制图的技术专题 并不是为了要介绍有什么好的技术和方法去制图 而是要告诉所有从事这一方向的人员一个铁铮铮的实现要做好 GIS 制图 必须加强自身的修养 nbsp nbsp nbsp nbsp nbsp 为什么修养前面不加任何的定语 为什么不是 技术修养 或者是 技能修养 等 因为我在这里讲的修养 是一个非常普通的大众的名词 可能很多人会说 我修养很好 不需要再提

    2026年3月17日
    2
  • python不报错但计算不出结果_excel表格不能用公式怎么办

    python不报错但计算不出结果_excel表格不能用公式怎么办excel模板设置好公式即可。在下面这行代码:workbook.write(out);// 输出Excel内容,生成Excel文件 之前,添加这个语句:workbook.setForceFormulaRecalculation(true);// 执行公式。workbook.setForceFormulaRecalculation(true);// 执行公式workbook.write(out);// 输出Excel内容,生成Excel文件…

    2022年8月19日
    14
  • php开发在线客服系统_app内在线客服

    php开发在线客服系统_app内在线客服  在本节中,我们将简要讨论通过PHP在线客服系统源码传输数据的数据传输方法。我们可以发送普通消息或基于时间表的消息。我们将逐一介绍这两种基本类型的消息传递。  完整源码:zxkfym.top  Azure服务总线:MicrosoftAzure服务总线是一种完全托管的云上企业集成消息传递服务,用于将云中运行的任何应用程序、设备和服务连接到任何其他应用程序或服务。该平台充当云上和任何设备上的应用程序的消息传递骨干。  它是如何工作的?使用消息在不同的应用程序和服务之间传输数据。消息为二进制格

    2025年11月30日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号