搞这个干嘛?
"因为我们办得到。"
好吧,真实原因是我的笔记本上面的系统挂了,而我手边找不到U盘。但是,我有一台 Walkman,另一台电脑和网络连接。1
一些背景知识
我使用的是一台 ZX300a. 如果你也想试试的话,你需要一台支持 USB 大容量存储
模式的 Walkman.
大多数使用索尼的私有系统的 Walkman (其实是基于 Linux 1 的) 都使用这一模式, 但使用 Android 的型号就不行.
感谢 UEFI 标准, 制作一个启动U盘非常简单, 只需要把光盘镜像中的所有文件拷贝到 U 盘根目录即可.
然而, 由于 Walkman 从来不是被设计成当作U盘使用的, 这么做有不少问题:
- 盘符无法更改为
ARCH_YYYYMM
-
Walkman 的系统"智能地"在它认为电脑断开的时候退出 大容量存储 模式.
- 所以, 在关机状态下是不能启用大容量存储模式的. 只能在开机过后 迅速的 启用大容量模式.
- 也是因为这个原因, 在 Linux 内核载入内存并初始化硬件的时候, 存储模式也会自动关闭, 所以我们需要手动挂在 archiso 分区.
幸运的是, 这些问题都不难解决.
实际操作
如果你还是想试试的话, 好吧.
准备 Walkman
首先, 找一台电脑并下载最新的 archiso. 编写本文时最新的版本是 201910
, 所以我将用这个版本作为例子.
然后, 将 Walkman 连接到电脑上并启用 USB大容量存储 模式. 将内部存储分区挂载到一个目录下(下文使用 $WM_DIR
作为例子), 然后把光盘镜像内的所有内容拷贝到内部存储的根目录下.
如果你不知道如何将一个光盘镜像挂载到一个目录上的话, here you go.
|
|
然后, 修改 $WM_DIR/loader/entries/archiso-x86_64.conf
. 将 options
一行改成类似下面的格式2 (不要照抄! 使用 ls -al /dev/disk/by-id
找到你的 disk id):
|
|
开机!
umount
掉 Walkman 分区, 关闭大容量存储模式, 然后等数据库刷新完成后插到要安装或维护的电脑上.
启动电脑, 同时 启用大容量存储模式和在电脑上按启动选单按键.
如果一切正常, 启动菜单上应该会多出两个选项. 一个是 USB FDD: SONY WALKMAN
, 另一个是 USB HDD: SONY WALKMAN
. 似乎 FDD 对应的是内部存储而 HDD 对应的是SD卡. 所以在这里选择 FDD.
然后就像往常一样选择从 Archiso 启动. 在内核加载后, Walkman 会自动关闭大容量存储模式, 因此系统无法挂载它所需的 /run/archiso/bootmnt
分区.
还好, 在挂载失败时会进入一个 fallback shell 环境. 我们只需手动挂载即可. 在 shell 中输入:
|
|
现在 archiso 已经有了一个正常的启动环境. 静待它启动完成即可.
然后呢?
该干嘛干嘛. 现在和普通的 archiso 启动U盘没区别了.
如果你也很不幸地遇到了类似的情况但是你有一台 root 过的 Android 设备,可以试试 DriveDroid. 这一次没有用它的原因是最近把手机升级到了 Andorid 10 而它似乎还没有做兼容。