星期三, 2月 09, 2011

Android 2.1 的 Link2SD - 把程式搬到 SD Card 中

基本上,如果是新買的手機,是 Android 2.2 以上的版本,應該是不用這個東西的
因為, Android 2.2 之後就有可以支援把 App 移動到 sd 卡上的功能

可是我的是 HTC Hero,目前還只是 Android 2.1 的版本
之前有一陣子,我的手機很容易就重開 Launcher
因為我裝很多軟體,導致主記憶體不夠,所以前幾天整個重置

後來今天,我在安裝軟體的時候,在 AppBrain 網站上面逛
發現到這個 Link2SD 的軟體
按照步驟安裝之後,我的軟體也可以放到 SD 卡上面去了!!!

整個步驟其實很簡單,不過,需要一些程式的搭配:

  1. 你需要有 root 權限:因為之前重刷 Android 2.1 的時候,有請我哥幫我裝成可以有 root 權限(因為我有需要把我的 Hero 當 Wireless Ap),這個作法網路上應該有,可以 Google 一下
  2. SD 卡必須要有 ext2 的 partition:原本所附贈的 2g and 8g sd,都是 fat32 的格式,我利用我自己家裡的 ubuntu ,先備份所有的資料,再重新格式化切割 SD Card。需要切割兩個 Partition,fat32 + ext2,都必須要是 primary partition,fat32 在前面。
  3. 安裝 Link2SD 
第一次執行 Link2SD 的時候,會去檢查你有沒有 ext2 的磁區,如果沒有,會提示你需要 ext2(這部份就得自己處理了~~~)

如果有做好磁區,第一次執行 Link2SD,就會有一個訊息,告訴你有一個 Scirpt 安裝好了,會在你下次開機的時候執行,你必須要重新開機,這樣 Link2SD 就會把你第二個 ext2 的磁區,mount 到 /data/sdext2 下~~~

以上動作都做完了,就可在 Link2SD 程式中,點選你要搬移的程式,選擇裡面的 Link to SD 按鈕,就可以把你的程式自動搬移到 ext2 的磁區中,並建立連結過去

如果你想搬回來,就點選程式,然後按 Remove Link 功能,就會把程式再移動回原本的地方

我執行起來,有幾個部分要記下來的:
  1. 每次搬移程式,都必須要重新開機才算做完整個步驟
  2. 系統的程式不能搬移
  3. 所有的桌面捷徑都要重新加入
  4. Widget 不建議放到 SD 去,我自己執行是有問題
  5. Market 的更新還不知道可不可以~~~
現在我的主記憶體,還有  72.38 MB 可以用,很爽

後續再看看有沒有問題.......

2011/03/16 補充說明:
我發現很多人按照我做過的步驟都不行
但我也不知道我為什麼一次就搞定~~~
有人留言說要自行在 sd 卡中建立 /data 以及 /data/sdext2 這兩個目錄
各位可以試試看,不過我看之前我參考的文章說明,這兩個目錄應該是要在你把 Partition 建立好之後,Link2SD 應該要偵測你的 Partition 之後,自行建立的~~~
不過我想各位還是可以試試看~~~ (感謝布丁布丁吃布丁的提供)

17 則留言:

  1. 我出現錯誤訊息:
    Auto-mount script error

    Auto-mount script cannot be created.

    mount: Device or resource busy

    請問前輩這問題是在哪?
    謝謝.

    回覆刪除
  2. 根據這個訊息:Device or resource busy
    我猜測是你在做這個動作的時候,有用 usb 接上電腦,因為這樣有可能會把 sd 卡鎖定
    當作電腦的磁碟機

    所以,你作這個動作的時候,請不要連接電腦試試看

    回覆刪除
  3. 感謝您的幫忙,
    我確認沒有將usb連接電腦,
    再試一次也是一樣.

    回覆刪除
  4. 上述問題, 將設定內的預設儲存空間設定為SD卡後排除,

    不過還是遇到下列狀況, 錯誤訊息:

    Auto-mount script created,
    please restart your phone to mount ext2 partition.

    If you're getting this message after restarting,
    it means that ext2 partition cannot be mounted
    automatically at boot. You cannot create link.

    重開機還是出現重複訊息.
    可能我再試試看. 看看能不能解,
    謝謝.

    回覆刪除
  5. 請問你是否有按照Link2SD的建議作法???
    切兩個 Partition
    第一個是 fat32/fat16
    第二個是 ext2
    然後都是 Primary Partition?

    因為會按照這個順序去 Mount Part.

    回覆刪除
  6. 是的,
    我有按照第一個是fat32,
    第二個是ext2.
    也都是都是 Primary Partition.
    挺奇怪的, 我先試試看把ext2的容量減少到512MB.
    謝謝您.

    回覆刪除
  7. 看起來ext2小於512MB沒有幫助,
    還是相同錯誤訊息.

    謝謝.

    回覆刪除
  8. 我用Galaxy 5,也是同樣的問題 :(

    回覆刪除
  9. 前述的步驟都完成
    安裝後也重開機
    但打開link2sd
    居然沒半個軟體能移去SD
    目前SD Card ext2下面是寫著N/A
    這是什麼樣的情況呢

    回覆刪除
  10. 我猜還是在 ext2 mount 這個動作發生問題了
    因為如果你抓不到 ext2 的 partition, 就沒辦法搬移程式了

    另外,我的是 HTC Hero, 因為我第一次作就成功,不知道這跟機型有沒有關係???

    回覆刪除
  11. 您好,我按照您這篇文章來操作,但還是卡了好長一段時間

    Link2SD一直顯示錯誤訊息:No space left on device

    後來我嘗試在SD記憶卡中建立/data/sdext2路徑的目錄(有兩個,先建/data,再來建立/data/sdext2),就能夠成功建立mount script

    回覆刪除
  12. 請問建目錄的意思是先建/data
    然後再建這裡面?? ↑ /data/sdext2
    還是分開???

    回覆刪除
  13. /data/sdext2 這個目錄要建立之前,要先建立 /data
    因為 sdext2 目錄在 /data 下面

    夠清楚了嗎?

    回覆刪除
  14. W8試過可以用, 記憶卡要用FAT32 primary格式化

    回覆刪除
  15. 要怎麼切割SD卡阿??拜託~~~

    新手~~~

    回覆刪除
  16. 哇~好久的文章了~~我都已經換成 iPhone4s 了~
    嗯~如果說只是單純要對 sd 作切割,你就把 sd 卡拿起來,用一般的硬碟管理工具去做切割就好啦!

    Windows 也有吧~?
    我之前是用 Ubuntu, 那就是 Gparted

    回覆刪除
  17. 非常感謝您的幫忙,SD切割後重新開手機就可以了~~ 開心^^

    回覆刪除

Powered By Blogger