[教學] 製作 Android-x86 USB 手指並可以 Persistence 有儲存功能

本帖最後由 javacomhk 於 2022-3-30 12:01 編輯

上次有一篇關於 用 ventoy 製作 USB Bootable Linux 手指並可以 Persistence 有儲存功能。以現時 USB 3 手指的價錢、容量及速度並可獨立 boot 起 OS 使用的方便及流動性好處應該大家都非常明白。

今次係講用 rufus 製作 Android-x86 USB 手指為例子。這方法不能像 ventoy 的 multi-boot Linux 的方法,一隻 USB 手指只能有一個 Android OS。

製作步驟如下:

(1) 在 android-x86 網址例如 64 bit 系統去下載 android-x86_64-9.0-r2.iso

(2) 下載 https://rufus.ie/en/,在 Windows 下 製作 USB 手指。

(3) 打開 rufus-3.18.exe 選擇android-x86_64-9.0-r2.iso 及 插入 USB 手指 (例如 32GB 或64GB都可以) 後,最重要是按你的手指容量去預留 persistence 空間 ,例如 64GB手指可以預留 50GB (請勿用盡 USB 作 persistence 並預留起碼 4G空間),其他內容包括 MBR 及 FAT32 格式不要改動,就可按 Start 去製作。假設USB 手指製作後是 E Drive



(4) 製作完成後,進行磁碟管理,用 Windows+R 去執行 diskmgmt.msc


將剛才預留的 50GB 空間刪去後並重新建立 Simple Volume 及 format 格式化為 NTFS 格式,假設 format 後是 F Drive


(5) 打開 Windows PowerShell 輸入以下指令
  1. GWMI -namespace root\cimv2 -class win32_volume | FL -property DriveLetter, DeviceID, Label
複製代碼


(6) 得到剛才 F Drive 的 UUID  例如是 00031b0b-0000-0000-0000-90d301000000


(7) 用 Notepad 打開 E:\efi\boot\android.cfg
原本的內容是
  1. function add_boot_entry {
  2.         menuentry "$2" "$@" --class android-x86 {
  3.                 savedefault
  4.                 set root=$android
  5.                 if [ ! -e $2/kernel ]; then
  6.                         search --no-floppy --set root -f $2/kernel
  7.                 fi
  8.                 set kd=$2
  9.                 shift 3
  10.                 linux $kd/kernel root=/dev/ram0 $src $@
  11.                 initrd $kd/initrd.img
  12.         }
  13. }
複製代碼
修改及增加 UUID 內容如下後儲存檔案
  1. function add_boot_entry {
  2.         menuentry "$2" "$@" --class android-x86 {
  3.                 savedefault
  4.                 set root=$android
  5.                 if [ ! -e $2/kernel ]; then
  6.                         search --no-floppy --fs-uuid --set=root 00031b0b-0000-0000-0000-90d301000000 -f $2/kernel
  7.                 fi
  8.                 set kd=$2
  9.                 shift 3
  10.                 linux $kd/kernel root=UUID=00031b0b-0000-0000-0000-90d301000000 root=/dev/ram0 $src $@
  11.                 initrd $kd/initrd.img
  12.         }
  13. }
複製代碼
(8) 下載  https://www.mediafire.com/file/xsy8twd05r1nph9/data.zip/file 解壓後放在USB 手指 E Drive 下為 E:\data.img,解壓後為 4188M(即3.99G),剛剛不足 4G 是 FAT32 單個檔案的極限。

(9) 重啟電腦後,按鍵入 BIOS 讓 USB 手指 首先 BOOT 起。進入BIOS 可以是 F1,F2,F10,F12,Esc 或 Shift 鍵,視乎你的電腦/底板製造商。

(10) 進入 Android X-86 便可以在 Settings 內查看 Storage 內容有 50GB persistence 的容量,系統的 user data 及內容及相片或下載內容就増加了約 4G。此 Persistence 方法並可以用於其他 Android AOSP 項目的 OS 例如 LineageOS 或 BlissOS 等等。另外預留樓下位置講擴大 data.Img 及 增加 SDCARD 以增加儲存容量。方法是參考如何使用2隻USB 手指製作 USB Bootable Android-x86 手指如下網址:https://linuxbsdos.com/2015/03/2 ... x86-on-a-usb-stick/

本帖最後由 javacomhk 於 2022-3-31 18:21 編輯

(1) 要製作較大容量 data.img 的 USB 手指及 SDCARD 就要使用 https://linuxbsdos.com/2015/03/26/android-on-a-stick-or-how-to-install-android-x86-on-a-usb-stick/ 提供的方法,使用 2 隻 USB 手指去製作。原理就是由第1隻 USB 手指安裝 Android-x86 至第2隻 USB 手指。這類的安裝操作是有寫錯 Windows 硬碟的風險,最穩陣就是首先拆除硬碟或 SSD 先做。如果不能拆的話,找一部可以拆硬碟的舊電腦進行製作。

(2) 首先用 rufus-3.18.exe 製作一隻可以是較細容量(例如8GB)的 android-x86_64-9.0-r2.iso,選項全是黙認便可。這隻 USB 手指在完全安裝好 Android 系統於第2隻USB手指後便可清除用作其他用途。

(3) 再用 rufus-3.18.exe 製作一隻較大容量(例如64GB)的 android-x86_64-9.0-r2.iso。Persistence partition size 選項例如是 10GB (將會用作SDCARD),如果是 32 GB 的USB 手指預留 4GB  Persistence partition size 的 SDCARD 就夠了。Partition Scheme 是黙認的 MBR,File System 改為 NTFS 如下圖。製作 SDCARD 的目的是方便從 Android 系統保存一些檔案在 SDCARD,並可以在 Windows 系統內取存。


(4) 製作完第2隻 64GB 的 USB 手指後,進行磁碟管理,用 Windows+R 去執行 diskmgmt.msc 將剛才預留的 10GB 空間刪去後並重新建立 Simple Volume 例如是 F Drive 並 format 格式化為 FAT32 格式,Volume Label 是 SDCARD,就容易辨認。這2個步驟做的 64GB 手指分區及格式化也可以在進入 Android 系統後才做,但在 Windows OS 進行就比較容易,在 Android 系統進行就會有機會錯誤選擇了其他Windows 的磁碟就會有資料掉失的風險。


(5) 接著退出第2隻 64GB 的 USB 手指後, 插入第1隻 8GB 的 USB 手指,重啟電腦後,按鍵入 BIOS 讓第1隻 USB 手指首先 BOOT 起。進入 Android 系統後才插入第2隻 64GB 的 USB 手指,在 Android 菜單用方向鍵向下選擇第3項的 Android-x86 Installation,其後安裝流程及流程就如這網址的描述

(6) 安裝流程中最重要的是選擇正確的磁碟分區,64GB 手指的磁碟分區例如會是 sdc1 分區會約有 46GB 容量,Filesystem 是 ntfs,Label 是 Android-x86,這就是你的 64GB 手指的主要 partition 分區安裝目標,不要選擇錯了你的Windows 硬碟,也不要選擇 sdc2 的分區 (會約有 10GB 容量,Filesystem 是 vfat ,Label 是 SDCARD),因為 sdc2 分區就是剛才第(4)步驟製作用作 SDCARD 的。如果看不到你的 64GB 整隻 USB 手指就選擇 Detect devices 去重新掃瞄。然後用方向按鍵去選擇正確的安裝磁碟分區,例如是 sdc1

(7) 當問到是否需要 format sdc1 分區時選擇 Do not format 因為剛才已經在第(3)步驟格式好是 ntfs 了。當問到是否 Install EFI GRUB2 ? 時選擇 Yes  。當問到是否 system directory as read-write ? 時選擇 Yes  。接著便會安裝約 2.2GB 的系統檔案到你的 USB 手指的分區上。當問到是否 create user data disk image ? 時選擇 Yes  。 Input size of the data.img in MB ? 時默認是2048 (即 2 GB) 可能是不夠的,就根據你的user data 需要 (user data 就是例如下載或相片檔案或其他App都可讀寫檔案的位置,但不包括 App 的 data) ,例如要設定 4GB 就輸入 4090 (即3.99GB) 後按 Enter 就可以。因為我發現設定大些都沒用。如果日後發現 data.img 不夠用,是可以用 Android 的Gearlock 去擴大容量,或者是可以用 ventoy 的 Linux ExtendPersistentImg.sh 工具 在 Linux 系統下去擴大容量的,但擴大 data.img 容量後,App 的安裝容量就相對減少了,所以一開始就要預先用大的容量嘅 USB 手指來安裝。 如果一開始試用後需大的 data.img 就可以下載這個10GB的 data.img 檔案,然後解壓後覆蓋在安裝後的 USB 手指的例如 E Drive 的 E:\android-9.0-r2\data.img,如果 USB 手指已經作首次設定後才覆蓋 data.img 檔案,就要在下次進入 Android 系統時要重新設定及下載,所以最好先備份你的相片及下載去SDCARD才覆蓋 data.img 檔案。

(8) Installation 完成後就會出現 Congratulations!的菜單標題。就可選擇 Run Android-x86 後,跟著就可以拔出第1隻USB 手指,留下第2隻 64GB USB 手指進入 Android 系統進行第一次啟動後設定系統。

(9) 進入 Android 系統後選擇默認第一項的 Android-x86 進入系統跟著就可以設定語言、連線至 wifi、Google 登入等設定好後便可以開始正式使用 Android 系統。

(10) 進入使用系統後,就可用 Google Play 更新 Google Chrome 或安裝 Youtube 、遊戲或其他需要的 App 或 Game 等等。如果要中文輸入法就要安裝例如 Gboard - Google 鍵盤後才去設定內啟動、設定輸入法及變更Gboard 鍵盤及選取或增加你需要的中文輸入法鍵盤,中文輸入法鍵盤預設只是倉頡的第三代版本。 另外在設定 USB 驅動器時要選擇作為「外置儲存空間」。


(11) 這個方法同樣可以用來安裝 Bliss OS,而且有 GearLock Recovery Mode。

TOP

留名

TOP

學野

TOP

學野
chue 發表於 2023-10-9 12:50



    x2

TOP