1---2title: "Win 平板刷入 Arch Linux (64 Bit)"3date: 2020-10-07T22:50:33+08:004---5## 前言6笔者有一个华硕 T100TA Windows 平板,由于性能太弱,在 Win10 2004 下的体验实在太差,于是动了刷成 Linux 的想法。78原来以为加个拓展坞后和普通的主机没什么两样,然后看到 [Windows 平板电脑安装 Linux](https://shan.si/ng/137/), 意识到事情不简单。910顺着关键词,在 [archwiki](https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Booting_64-bit_kernel_on_32-bit_UEFI) 里找到了相关的方法,这篇文章的步骤基本上是按照 wiki 的方法来的,只能算是一个总结和翻译。1112以下操作皆在 Linux 系统中完成。1314## 失败的尝试15首先试的不是 arch ,是 Manjaro ,找到了 Manjaro 的 [这个版本](https://manjaro.org/downloads/32bit/32bit-xfce/) 支持 uefi32 启动,但是 manjaro 32 位的源又少又慢,驱动也有点奇奇怪怪的,遂放弃。16顺便记录一下 Manjaro 下解决 wifi 驱动问题的方法17```18sudo cp /sys/firmware/efi/efivars/nvram-XXXXXX /lib/firmware/brcm/brcmfmac43241b4-sdio.txt19sudo modprobe -r brcmfmac20sudo modprobe brcmfmac21```2223## 刻盘24这里刻盘的方式有要求,建议不要用 windows 下自动刻录的工具,至少我用 balenaEtcher 是不行的。也不能直接把镜像 dd 进 u 盘。2526因为之后需要修改 efi 分区文件,而 dd 刻进去的 efi 分区是满的,无法修改。2728刻盘方法参考 [Archwiki](https://wiki.archlinux.org/index.php/USB_flash_installation_medium_(简体中文)#手动方法),以下做一个简单阐述。2930```31# 建 vfat(fat32) 分区,刻盘32fdisk /dev/sdX33mkfs.vfat /dev/sdXn34mkdir /mnt/{usb,iso}35mount -o loop archlinux-<version>.iso /mnt/iso36mount /dev/sdXn /mnt/usb37cp -a /mnt/iso/* /mnt/usb38sync39umount /mnt/iso40```4142## 修改 u 盘启动方式43```44# 先给 u 盘分区打个 label,官方建议是 ARCH_YYYYMM,如 ARCH_202010,请随意。45fatlabel /dev/sdXn <Label>4647# 制作 grub uefi32 启动文件48echo 'configfile ${cmdpath}/grub.cfg' > /tmp/grub.cfg49grub-mkstandalone -d /usr/lib/grub/i386-efi -O i386-efi --modules="part_gpt part_msdos" --locales="en@quot" --themes="" -o "/mnt/usb/EFI/boot/bootia32.efi" "boot/grub/grub.cfg=/tmp/grub.cfg" -v50```51添加 /mnt/usb/EFI/boot/grub.cfg 文件,写入以下内容,ARCH__YYYYMM 部分改为之前写的 u 盘分区 label 。52```53insmod part_gpt54insmod part_msdos55insmod fat5657insmod all_video5859insmod font6061if loadfont "${prefix}/fonts/unicode.pf2" ; then62 insmod gfxterm63 set gfxmode="1024x768x32;auto"64 terminal_input console65 terminal_output gfxterm66fi6768menuentry "Arch Linux archiso x86_64 UEFI USB" {69 set gfxpayload=keep70 # 下面这行与官方的有点不一样,我的要打上双引号才能用,不然找不到这个 label ,请自行尝试。71 search --no-floppy --set=root --label "ARCH_YYYYMM"72 linux /arch/boot/x86_64/vmlinuz-linux archisobasedir=arch archisolabel=ARCH_YYYYMM add_efi_memmap73 initrd /arch/boot/intel-ucode.img /arch/boot/x86_64/initramfs-linux.img74}75```76然后77```78umount /mnt/usb79```80u 盘制作好了,正常情况可以通过 grub 从 uefi32 启动了。81## 安装系统82与普通的 arch linux 差不多,在用 [grub](https://wiki.archlinux.org/index.php/GRUB_(简体中文)#UEFI_系统) 做启动引导时,把83```84grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB85```86改为87```88grub-install --target=i386-efi --efi-directory=esp --bootloader-id=GRUB89```90其他启动引导方式笔者没用过,官方也没有说明,如有需要,请自行解决。9192## 参考93* [Unified Extensible Firmware Interface ](https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E5%9C%A8_32_%E4%BD%8D_UEFI_%E4%B8%8A%E5%90%AF%E5%8A%A8_64_%E4%BD%8D%E5%86%85%E6%A0%B8)94* [Windows 平板电脑安装 Linux](https://shan.si/ng/137/)95* [Latest steps to install Ubuntu on the Asus T100TA](http://www.jfwhome.com/2016/01/04/latest-steps-to-install-ubuntu-on-the-asus-t100ta/)96* [GRUB](https://wiki.archlinux.org/index.php/GRUB_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87))97* [USB flash installation medium](https://wiki.archlinux.org/index.php/USB_flash_installation_medium_(简体中文)#手动方法)9899## 后续100没遇到 Manjaro 和 Ubuntu 那样的无线网卡驱动问题,声卡显卡之类的也没问题。101102蓝牙没有试,还要装 pulseaudio 之类的东西,懒。103104xfce4 装上了,触屏效果意料之中的差,虽然有看到可以改得友好一点,不过我不是很在意。105106如果出现了什么问题再到这里补充吧。