文章目录

  • 前言
  • 准备
  • 1.U盘分区(混合兼容UEFI和BIOS启动)
  • 2.创建MBR分区表
  • 3. 将分区的文件类型修改
  • 4.挂载U盘文件
  • 5.设置U盘grub
  • 6.设置镜像源
  • 7.将Linux和其他软件拉到U盘上
  • 8.配置系统
  • 9.Chroot(切换到新U盘上的arch Linux系统)
  • 10.安装微指令
  • 11.初始化grub
  • 12.时区
  • 13.本地化
  • 14.网络配置
  • 15.root密码
  • 16.解除挂载后重启
  • 17.联网
  • 后续

前言

最近看到别人拿了一个U盘随插随用arch Linux 觉得属实好玩,于是乎,自己也想安装一个来玩玩,记录过程,以便后续自己重装系统需要
主要是为了多兼容各个系统
参考

1.Install Arch Linux on a removable medium (简体中文)
2.Multiboot USB drive
3.Installation guide (简体中文)

archLinux的官网wiki真是个学习知识的好地方


准备

  • 一台安装了arch Linux的设备(安了arch Linux的U盘或者电脑)
  • 一个空闲U盘(我的 32G)
  • 电脑一个
  • 手机和充电线(以便后续用USB共享网络给arch Linux联网)

1.U盘分区(混合兼容UEFI和BIOS启动)

首先需要先仔细检查一下你的U盘设备名字是什么

fdisk -l

然后我们来进行分区,一共需要三个区

1.A BIOS boot partition (gdisk type code EF02). This partition must be 1 MiB in size
2.An EFI System partition (gdisk type code EF00 with a FAT32 filesystem). This partition can be as small as 50 MiB. 建议大一点 到512M
3.Your data partition (use a filesystem supported by GRUB). This partition can take up the rest of the space of your drive.

gdisk /dev/sdX #X是自己U盘设备进入后输入p 打印现有分区
进入后输入指令 d + 现有分区序号删除现有分区,重复至没有分区
n 添加分区
1 EF02(BIOS Boot) 起始位置默认 结束位置:+1M
2 EF00(EFI System partition) 起始位置默认 结束位置: +512M
3 8304(Linux x86-64 root) 起始位置默认 结束位置默认
w 保存并退出

注意: disk和gdisk的区别

  • gdisk可以对2T以上的磁盘进行操作,fdisk不行
  • fdisk只能用于MBR分区,gdisk可以用于GPT分区

2.创建MBR分区表

gdisk /dev/sdXCommand (? for help): r
Recovery/transformation command (? for help): hWARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
just hit the Enter key at the below prompt and your MBR partition table will
be untouched.Type from one to three GPT partition numbers, separated by spaces, to be added to the hybrid MBR, in sequence: 1 2 3
Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): NCreating entry for GPT partition #1 (MBR partition #1)
Enter an MBR hex code (default EF):
Set the bootable flag? (Y/N): NCreating entry for GPT partition #2 (MBR partition #2)
Enter an MBR hex code (default EF):
Set the bootable flag? (Y/N): NCreating entry for GPT partition #3 (MBR partition #3)
Enter an MBR hex code (default 83):
Set the bootable flag? (Y/N): YRecovery/transformation command (? for help): x
Expert command (? for help): h
Expert command (? for help): wFinal checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!Do you want to proceed? (Y/N): Y

3. 将分区的文件类型修改

总地来说,不带日志(journal)功能的 ext4 是比较通用的优选方案。可以用这样的命令来创建:
# mkfs.ext4 -O "^has_journal" /dev/sdXX。因为带日志功能的文件系统日志更新会在一定程度上消耗闪存有限的写入寿命。由于同样的原因,最好放弃 swap 分区。注意这个建议并不适用于安装在 USB(机械)硬盘的情况。

mkfs.fat -F32 /dev/sdX2
mkfs.ext4 /dev/sdX3  #带日志功能
mkfs.ext4 -O "^has_journal" /dev/sdX3 #不带日志的sdX3

4.挂载U盘文件

mount /dev/sdX3 /mnt
mkdir -p /mnt/boot/EFI
mount /dev/sdX2 /mnt/boot/EFI

这样就能对U盘内的文件进行处理了


5.设置U盘grub

EFI启动

grub-install --target=x86_64-efi --recheck --removable --efi-directory=/EFI_MOUNTPOINT --boot-directory=/DATA_MOUNTPOINT/boot

BIOS启动

grub-install --target=i386-pc --recheck --boot-directory=/DATA_MOUNTPOINT/boot /dev/sdX

6.设置镜像源

文件 /etc/pacman.d/mirrorlist 定义了软件包会从哪个镜像源下载。在 LiveCD 启动的系统上,在连接到因特网后,reflector 会通过选择 20 个最新同步的 HTTPS 镜像并按下载速率对其进行排序来更新镜像列表。

在列表中越前的镜像在下载软件包时有越高的优先权。您或许想检查一下文件,看看是否满意。如果不满意,可以相应的修改 /etc/pacman.d/mirrorlist 文件,并将地理位置最近的镜像源挪到文件的头部,同时也应该考虑一些其他标准。

这个文件接下来还会被 pacstrap 拷贝到新系统里,所以请确保设置正确。
注拉过去的U盘会和之前的U盘的镜像一致


7.将Linux和其他软件拉到U盘上

Networkmanager很重要

pacstrap /mnt base linux linux-firmware sof-firmware vim vi networkmanager grub

指令后面可以继续加你需要的软件包


8.配置系统

用以下命令生成 fstab 文件 (用 -U 或 -L 选项设置 UUID 或卷标):

genfstab -U /mnt >> /mnt/etc/fstab

强烈建议在执行完以上命令后,检查一下生成的 /mnt/etc/fstab 文件是否正确。

cat /mnt/etc/fstab #自己检查一下文件是否符合你的设备

9.Chroot(切换到新U盘上的arch Linux系统)

Change root 到新安装的系统:

arch-chroot /mnt

10.安装微指令

U盘上必须要安装Intel和amd的微指令

pacman -S intel-ucode
pacman -S amd-ucode

11.初始化grub

grub-mkconfig -o /boot/grub/grub.cfg

12.时区

设置为时区:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

然后运行 hwclock(8) 以生成 /etc/adjtime:

hwclock --systohc

13.本地化

程序和库如果需要本地化文本,都依赖区域设置,后者明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。

需在这两个文件设置:locale.gen 与 locale.conf。

pacman -S perl #补充vim需要的软件包
vim  /etc/locale.gen
或者
vi /etc/locale.gen

然后取消掉 en_US.UTF-8 UTF-8 和其他需要的 区域设置 前的注释(#)。

接着执行 locale-gen 以生成 locale 信息:

locale-gen

然后创建 locale.conf文件,并编辑设定 LANG 变量,比如:

vim locale.conf

加入以下信息

/etc/locale.conf
LANG=en_US.UTF-8

14.网络配置

vim /etc/hostname
输入:myhostname

15.root密码

passwd

16.解除挂载后重启

exit #退出挂载的系统
umount -R /mnt #解除挂载
reboot

17.联网

重启后用USB共享网络后查看能否ping通

ping baidu.com

若ping不通

systemctl start NetworkManager
systemctl enable NetworkManager

重新ping一遍


后续

后续就可以安装图形化界面啦
目前我在使用xorg+gnome+gdm安装,但是在我的thinkbook14+ 核显款上面会导致一动鼠标就花屏,屏幕闪烁,正在寻找解决方案,有点头大

arch Linux安装至U盘(兼容UEFI和BIOS启动)相关推荐

  1. 虚拟机linux识别不了u盘_将Arch Linux安装到U盘

    作者记:本文最早发布于本人的InfoQ平台,转载请注明出处 前记 就像你不知道苹果什么时候会掉下来砸脑袋,总会有某个时刻,你要用电脑去完成一些任务的同时,又不想在电脑里留下太多痕迹,这时候,有一个随插 ...

  2. arch Linux安装到U盘,把Arch Linux安装到U盘上的具体教程

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

  3. 把linux装到u盘如何分区,把Arch Linux安装到U盘上的具体教程

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

  4. arch linux安装_如何从头开始安装Arch Linux

    arch linux安装 by Andrea Giammarchi 由Andrea Giammarchi In this article, you'll learn how to install Ar ...

  5. Arch Linux 安装简明流程

    Arch Linux 安装简明流程 这是一篇为 GPT/EFI 引导 的电脑安装 Arch Linux(双系统)的中文简明流程,尽可能省略了可以省略的流程与文字以使得篇幅尽量短小,基本上基于 Arch ...

  6. Arch Linux安装

    Arch Linux安装 一.安装前做的事 1. 下载.iso镜像文件 1.1方式一 1.2方式二 1.3方式三(HTTP直接下载 国内仓库镜像下载) 2. 验证签名(PGP验证) 3. 制作U盘启动 ...

  7. arch linux安装命令,arch linux:安装Arch Linux方法介绍

    今天来聊聊一篇关于arch linux:安装Arch Linux方法介绍的文章,现在就为大家来简单介绍下arch linux:安装Arch Linux方法介绍,希望对各位小伙伴们有所帮助. Arch ...

  8. puppy linux安装到u盘分区,puppy linux如何安装?puppy linux安装到u盘方法

    puppy linux又名小芭比linux,是一款小型的操作系统,集多种功能以一身,为用户提供办公.上网.娱乐.游戏等服务.很多网友说puppy linux如何安装?因为安装过程确实非常繁琐一不小心就 ...

  9. arch linux安装_安装Arch Linux如何使我的旧笔记本电脑重获新生

    arch linux安装 by Jonathan Baldie 乔纳森·巴尔迪(Jonathan Baldie) 安装Arch Linux如何使我的旧笔记本电脑重获新生 (How installing ...

最新文章

  1. 代码恒久远,GitHub 永流传
  2. 爬虫基础-request的一些基础属性
  3. CSDN2008最有价值博客获奖感言--放飞梦想,让我们扬帆远航
  4. php代码编辑器6,优秀的PHP代码编辑器_Blumentals Rapid PHP V13.6 免费版
  5. mysql(slow-query) 快速开启慢日志查询的方法
  6. python中用函数设计栈的括号匹配问题_数据结构和算法(Python版):利用栈(Stack)实现括号的匹配问题...
  7. 想成为嵌入式程序员应知道的0x10个基本问题[转]
  8. yolo模型部署——tensorRT模型加速+triton服务器模型部署
  9. 宋利兵 mysql_MySQL数据库InnoDB存储引擎Log漫游(3)
  10. 2017-2018-1 20155315 《信息安全系统设计基础》实验五 通讯协议设计
  11. centos7.4 安装配置rabbitmq-server 实操记录
  12. mongoTemplate.aggregate() 聚合查询,关联查询
  13. Opencv图像显示
  14. 标签概述及GoodMES云标签的创新应用
  15. 2019区块链技术与应用创新峰会,UCK Network聚力技术创新 引领未来发展
  16. 我国第三方支付行业市场现状和发展趋势(三)
  17. 【textarea】按下回车发送消息不换行,怎么实现?
  18. pygame-KidsCanCode系列jumpy-part18-背景滚动
  19. 【RocketMQ】
  20. vb.net利用listbox控件与excel文件相结合统计数据

热门文章

  1. oracle简单的游标示例,Oracle游标简单示例
  2. 四川计算机网络学校,成都计算机网络应用专业如何
  3. 怎某泳c语言输出图形,c语言打印字符图形.doc
  4. 员工部门信息表-myemployees
  5. 使用Redis缓存Shiro授权认证信息,搭建集群权限系统
  6. echarts3 graph java_echarts3绘制拓扑图
  7. java尚未初始化变量问题
  8. 在weblogic中发布ejb需涉及到哪些配置文件
  9. vue中的表单手机号和邮箱自定义验证规则
  10. iPhone 14或成史上销量最差机型;腾讯首次发布《全真互联白皮书》;GNOME 43发布|极客头条...