題:
如何將Galaxy Nexus用作外部USB存儲驅動器?
Matt
2012-07-23 03:02:06 UTC
view on stackexchange narkive permalink

我剛買到Galaxy Nexus,並了解到它不支持USB大容量存儲模式。它僅支持MTP和PTP。我經常在工作時將手機用作USB閃存盤,因此這是一個問題。我可以使用MTP來回傳輸文件,但是我需要直接在手機上編輯文件

我想找到一種方法來繼續將手機用作外部驅動器,並能夠直接訪問手機存儲中的文件而無需來回傳輸文件,但是我有一些限制:我工作中的網絡沒有連接到互聯網,沒有wifi,並且計算機沒有藍牙,這種情況不會改變。理想情況下,我不必在計算機上安裝任何東西,但是如果沒有其他選擇,我會考慮一下。

是否有任何黑客或變通辦法可以讓我按照我所描述的方式將Galaxy Nexus用作外部閃存驅動器?

我可以在桌面上創建單獨的可安裝FAT分區嗎?我可以使用其他具有外部存儲卡的設備從Windows XP計算機以及Android操作系統訪問的電話存儲?

電話:紮根的&在VZW上解鎖了Galaxy Nexus,目前正在運行CM9。

我不確定100%,但是我認為股票內核甚至無法做到這一點。您需要一個售後內核或僅需要一個自定義ROM來執行此操作。 [適用於Cyanogenmod9的G Nexus GSM:完整更新指南](http://wiki.cyanogenmod.com/wiki/Galaxy_Nexus_(GSM):_Full_Update_Guide)(4.0.4 atm,4.1 CM10仍處於早期階段)。 [這裡是apk](http://forum.xda-developers.com/showthread.php?t=1389375)可能也有幫助。需要根。
謝謝,除了[this](http://forum.xda-developers.com/showpost.php?p=26934870&postcount=155]之外,該線程看起來很有希望。希望這不是真的,否則我將要出售GN。
我認為您不一定需要單獨的SD卡才能使用UMS,但我認為您*需要*一個單獨的分區(格式化的FAT)才能工作,例如不帶外部SD卡插槽的Kindle Fire。 。
我認為您需要稍微擴展一下為什麼MTP / PTP不適合您的用法。儘管有名稱,MTP實際上可以傳輸任何任意文件,而不僅僅是媒體文件。您在MTP中無法執行的唯一操作是需要塊級訪問的操作,例如碎片整理,重新格式化,分區等。
我不想傳輸文件,我想在手機上的位置對其進行編輯,就像是閃存驅動器一樣。我不相信您可以使用mtp做到這一點,我誤會了嗎?
@LieRyan:有什麼建議嗎?
Play商店上有一個名為“ [Nexus Media Importer](https://play.google.com/store/apps/details?id=com.homeysoft.nexususb.importer)”的應用程序。它是一款付費應用(3美元),但在所有Nexus設備上均可正常運行。使用此應用程序,您可以連接USB HDD或USB驅動器。通過此應用程序,您可以將文件從USB設備下載到手機,但不能從手機下載到USB驅動器。
五 答案:
Zuul
2012-07-27 07:36:14 UTC
view on stackexchange narkive permalink

簡短回答:

當前,由於協議規範,您不能使用您的設備(任何依賴MTP的設備)充當MSC!

詳細說明

要澄清的是,Galaxy Nexus在整個設備上使用了一個巨大的分區,這就像在說:系統,數據和sdcard都在一起。

Galaxy選擇了MTP Nexus是因為它允許使用較大的存儲區域,從系統的角度來看,它可以確保與文件的更好通信,提供更安全的文件系統,並減少維護麻煩。

為什麼您無法按照自己的方式進行操作:

Galaxy Nexus中沒有單獨的分區,只有一個大的存儲區域。即使模擬fat32文件系統,仍然需要能夠在低級之間在fat32和ext4之間進行轉換。這幾乎是不可能的。

如果Galaxy Nexus具有分區,則您可以進行塊級訪問,因此可以進行大容量存儲訪問。


長期無聊的版本:


背景短

大容量存儲類(MSC),通常稱為USB大容量存儲(UMS),我們都是用於我們的設備的協議是一種協議,它允許通用串行總線(USB)設備可被主機計算設備訪問,從而實現兩者之間的文件傳輸。在黃金時期,只需插入電話,按“ USB模式”並開始移動文件,編輯文件等...


媒體傳輸協議(MTP) h2>

發生了很大的變化,當我們談到您的設備上正在使用的新傳輸方法時,媒體傳輸協議(MTP):

1簡介 請參見下面的第15頁zip sup>

媒體傳輸協議(MTP)是一種用於與暫態存儲設備進行內容交換以及命令和控制的協議。它是作為PTP或圖片傳輸協議的擴展而開發的,主要針對數碼相機,便攜式媒體播放器和蜂窩電話。

儘管此介紹仍然令人懷疑。 ,此協議的開發和實施具有非常特定的目的:促進媒體文件和相關元數據在設備之間的傳輸:

1.1目的 參見頁面下面的15 zip sup>

此協議的主要目的是促進具有臨時連接性和顯著存儲容量的媒體設備之間的通信。這包括二進制對象的交換和所連接設備的內容的枚舉。


支持的文件類型?

至此,我們已經知道這是針對媒體文件和基於媒體的設備的,但是我在評論中看到的一個問題仍然存在:我們可以復制除媒體文件(音頻/視頻)以外的文件嗎?是的,我們可以:

1.3 MTP對像模型 請參見第15頁zip sup>

術語“媒體” “媒體傳輸協議”用於識別任何二進制數據,並且不限於通常使用的音頻/視頻格式。非音頻/視頻對象的一些示例包括聯繫人,程序,預定事件和文本文件。


“實時編輯”怎麼樣?

您的問題特別涉及您的設備(Galaxy Nexus)作為外部USB存儲驅動器的使用情況。為什麼不能做到? MTP協議將數據限制為單向操作,後者還解釋了計算機將設備存儲用作本地文件:

4.2單向數據流 請參見下面第29頁zip sup>

MTP中的數據流始終是單向的。啟動操作時,數據僅從啟動器流向響應器。當響應所請求的操作時,數據僅從響應者流向發起者。在二進制數據交換階段,數據可能從響應者流向啟動器,或者從發起者流向響應器,但不會兩者都流。雙向二進制數據交換必須通過多種操作來完成。


優點與缺點

優點

MTP確實具有一些優勢,主要涉及用戶數據的安全性和完整性:

Microsoft MTP Implementation Overview

USB主機已經安裝了一個MSC分區,它對存儲進行了絕對控制,例如,允許文件系統損壞或重新格式化為不受支持的類型。

同時,MTP通過使託管文件的單位是可以寫入或讀取的本地文件。

缺點

MTP不被視為傳統的可移動驅動器,因此,沒有可用的恢復工具來保存一天。

支持仍在進行中,某些操作系統仍需要第三方軟件。

MTP標準(如前所述)不允許直接修改對象。取而代之的是,必須完整地重新上傳修改後的對象。 >,但是OTOH不好(用戶必須改變習慣) sup>。

以下是用於綜合答案的閱讀材料:

以上答案歸功於這些參考鏈接的內容和作者。 sup >

我很欣賞mtp的詳細說明,但是我已經接受了這樣的事實,即我無法以自己想要的方式使用mtp。我感興趣的是找到一種解決限制的方法。例如,對內部存儲器重新分區以創建單獨的可安裝分區。關於如何解決mtp限制的任何建議?
@Matt評論越來越大,我在“簡短答案”部分下添加了一個說明。抱歉,如果我沒有早點說清楚。
感謝您提供的附加信息,但是我已經意識到了大部分信息。我想知道的是,除了其他解決方案之外,手機是否可以使用支持UMS的單獨FAT分區進行重新分區?如果是這樣,怎麼辦?
我最終將賞金授予ce4,因為他的代碼是最接近解決方案的東西,但感謝您提供的詳細信息和幫助。
ce4
2012-07-27 17:22:46 UTC
view on stackexchange narkive permalink

可能可以通過USB將環回的圖像文件導出為UMS / MSC。

您肯定需要:

  • root
  • 內核支持:環回(/ dev / block / loop0)和UMS(/ sys / devices / platform / usb_mass_storage /)
  • 自定義應用以啟用/禁用此一種自定義的初始化腳本,該腳本始終導出圖像文件
    這是一個易於破解的應用程序的示例,但需要進行一些開發...一個人需要更改默認的塊設備( / dev / block / mmcblk0pX)到loop0,並且也事先丟失了loop0,然後進行構建。此外,如果未導出,則可以將其安裝在Android設備上,例如在/ sdcard / fat

這是對我的Galaxy Nexus(在恢復模式下)的簡短測試:

 #創建一個10mb的圖像文件並使用FAT,將其命名為testFat:me @ workstation:〜$ dd if = / dev / zero of = / tmp / fat.img count = 10 bs = 1M10 + 0條記錄in10 + 0條記錄out10485760複製的字節數(10 MB),0, 00699535 s,1.5 GB / sme @ workstation:〜$ mkfs.vfat -n fatTest /tmp/fat.img mkfs.vfat 3.0.9(2010年1月31日)me @ workstation:〜$文件/tmp/fat.img /tmp/fat.img:x86引導扇區,標籤:“ fatTest”,FAT(16位)#將其推送到我的手機,從中創建loop0並通過UMSme @ workstation導出:〜$ adb推送/tmp/fat.img /sdcard/fat.img5215 KB / s(1.963s中的10485760字節)me @ workstation:〜$ adb shellroot @ android#ls / sys / devices / platform / usb_mass_storage / lun0file power ro ueventroot @ android #lostup/dev/block/loop0/sdcard/fat.imgroot@android#losttup / dev / block / loop0:0/sdcard/fat.imgroot@android#echo/dev/block/loop0>/sys/devices/platform/ usb_mass_storage / lun0 / file root @ android#退出#看到它有效。 Yay!me @ workstation:〜$ me @ workstation:〜$ / media / fat上的mount [...] / dev / sdg測試類型vfat(rw,nosuid,nodev,uid = 1000,gid = 1000,shortname = mixed, dmask = 0077,utf8 = 1,showexec,flush,uhelper = udisks)me @ workstation:〜$ dmesg
[137805.009285] SD 27:0:0:0:[SDG] 20480 512字節邏輯塊:(10.4 MB / 10.0 MiB)[137805.010024] SD 27:0:0:0:[SDG]寫入緩存:已啟用,已讀取緩存:已啟用,不支持DPO或FUA [137805.013446] sdg:me @ workstation:〜$  
我現在手邊沒有測試設備(GNexus),有人會這麼友好,看看CM9是否包含UMS嗎?只要看看它是否可用:/ sys / devices / platform / usb_mass_storage / lun0 / file
早期的CM10似乎沒有,所以我猜CM9也沒有。
@eldarerathis:感謝您的關注!它可能被編譯到另一個內核中,或者必須使自己能夠運行。
@ce4這看起來很有希望,但是我很想看到更多詳細信息來說明如何實現這一目標。您是要永久性地對電話的存儲空間進行分區還是其他解決方案?這種方法是否存在諸如構成文件系統完整性的缺點?
我將手機用作閃存驅動器。我將其插入工作中的共享計算機,編輯文檔,然後保存並繼續。將文件傳輸到計算機然後再傳輸回來對我來說真的不起作用。我待會兒再聊。
謝謝您的幫助。我還沒到那兒,但是您的回答是最接近解決方案的,所以我授予您賞金。我找到了一個聲稱支持USB大容量存儲的ROM,但事實證明並非如此。開發人員提議修改其ROM以支持它:http://forum.xda-developers.com/showthread.php?t=1400775&page=362#3619您在該線程上的輸入可能會有所幫助。我給他發送了一個鏈接給您答案和代碼。
真好! :-) PS:我向LUKS管理器提出了功能請求[此處](http://nemesis2.qx.net/forums/index.php/topic,132.0.html)。讓我們看看開發人員說了些什麼,也許最終會得到一些支持
Michael Hampton
2012-07-27 08:08:43 UTC
view on stackexchange narkive permalink

這是TL; DR版本。

抱歉,Galaxy Nexus根本無法實現USB大容量存儲。

原因是USB大容量存儲可為PC提供支持對文件系統進行塊級訪問,並維護文件系統的完整性,它必須是互斥訪問。這就是為什麼Android手機在USB大容量存儲模式下卸載SD卡而應用程序無法使用SD卡上的數據的原因。

Galaxy Nexus卻沒有 SD卡。

MTP(請參閱@Zuul的出色解釋)可以解決此問題,並且電話和PC都可以訪問文件而不必鎖定電話。不利的一面是您還沒有排他的塊級訪問權限,並且還沒有對MTP的操作系統支持。

如果您不能缺少此功能,那麼您最好的選擇是使用其他手機。並非偶然,這是我擺脫Galaxy Nexus並獲得DROID RAZR MAXX的原因之一。

“這就是為什麼Android手機會卸載SD卡的原因……”那些允許將sd(以及內部存儲)同時同時安裝到計算機和Android操作系統的應用程序呢?我在Rezound上有一個這樣的應用程序,它運行得很好。
我從未聽說過類似的應用程序。得到它存在的證據?
聽起來真的很刺耳! http://www.google.hu/search?redir_esc=&redir_esc=&hl=zh-CN&client=ms-android-google&source=android-browser-type&v=200400000&qsubts=1343372983008&q=dual%20mount%20sd%20card%20android
它會兩次安裝-將sdcard安裝到手機上,然後同時使用相同的命令將其安裝到PC上。因此它實際上是“雙重裝載”的。
這是我使用的一種:https://play.google.com/store/apps/details?id=com.rafoid.multimountsdcard.widget.free
而且您從未丟失任何數據?那你真幸運
我從未丟失任何數據。為什麼我特別幸運?這是雙重安裝的常見問題嗎?
是的,這就是為什麼系統一開始不允許它的原因。
滑稽。我了解到它沒有卸載,但是刪除了所有權限(您可以在將卡導出到計算機時嘗試使用終端應用,ls -l / mount / sdcard應該顯示類似d ----- ----`,它會在您斷開USB連接後立即發生變化,並變成(呃,不是很確定細節,而是類似)drwxr-xr-x。實際上,這相當於相同:通過USB提供給計算機的本地系統無法訪問它。
糟糕,忘記提及來源:[viaForensics](https://viaforensics.com/)的Andrew Hoog撰寫的“ Android Forensics”(請參閱http://viaforensics.com/education/android-forensics-mobile-security-book /)-第二個權限集應顯示為d --- rwxr-x。使用的參考設備是HTC Incredible。
Ηλίας
2012-10-01 04:48:39 UTC
view on stackexchange narkive permalink

AOKP JB build 4似乎具有:

“某些設備(i9 *)的USB大容量存儲仿真”

我還沒有使用過它。

Izzy
2012-07-31 00:01:44 UTC
view on stackexchange narkive permalink

您可以嘗試使用此 XDA-Developers應用

注意:該應用是在Ice Cream Sandwich Ports的早期開發的。目前,這些端口均未提供本地USB大容量存儲支持,儘管如此,此應用仍被視為使用UMS的臨時解決方法。因此,除非您使用的ICS或JB端口仍然不本地支持UMS,否則此應用程序對您來說不會很有趣。在這種情況下,將提供幫助:

該應用程序在啟動設備後自動啟動,並自動檢測何時通過USB將設備連接到計算機。然後在通知欄中彈出一個通知,通過點擊該通知,您將打開一個GUI來啟用/禁用USB Mass Storage。

到目前為止,聲音還算不錯-已知支持的設備列表中沒有明確提及只有您的Galaxy Nexus 。這並不一定意味著它將無法正常工作,只是目前尚不知道。應該值得一試。

已經對此進行了討論,請參閱OP註釋。 las,這也是死胡同。 :(
我找不到您所指的評論-但如果已經是眾所周知的選擇,我深表歉意。 “死胡同”意味著它不再起作用了?哦,天哪,我跳過了接下來的更新;)
沒有冒犯的意思! :)的意思是“ FYI”。 “這裡是apk”是指與您的XDA鏈接相同的線程。
我們在主要的android聊天中進行了相當長的交談。不知道歷史記錄是否足夠長,但是如果您仍然可以訪問它,則可以獲得更多信息
感謝您提供ce4的信息-不幸的是,我目前錯過了深入研究它的時間。我只是看到MTP還沒有完全關閉UMS,因此我很確定必須有一個可用的解決方案。我還記得一些在ICS及更高版本上再次啟用UMS的線程。希望很快就會有事情發生-因為MTP似乎並不是每個人的答案。
內核是其中最大的部分:目前,它缺少USM小工具功能。需要一個人自己編譯或找到一個包含它的人。不是最好的升級路徑監視工具。因此,即使您完成了它:每次升級後也會趕上它。絕對:股票行不通
再次感謝。因此,我/我們希望CustomROM提供程序,尤其是CyanogenMod Crew。對於普通用戶來說有點令人失望,但是...


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...