Android virtuellt minneskort. Uppdelning av microSD-minneskort på Android. Förbereder för utsättning

Detta verktyg låter dig skapa och hantera partitioner på SD-kortet/USB-enheten på din telefon eller surfplatta. Du kan lägga till mer RAM-minne till din enhet genom att skapa en swap-partition. Du kan också reparera skadade SD-kortfilsystem. Stöder endast "huvud" partitionstyp.
Funktioner:

  • skapa partitioner;
  • ta bort partitioner;
  • återställning av skadade filsystem.

Filsystem som stöds:

  • FAT16, FAT32, EXT2, EXT3, EXT4, SWAP, NTFS (med början från MoalBoal-versionen).

Krav:

  • Root-telefon;
  • tillgängligheten för Busybox;
  • installation i internminnet;
  • Koppla bort SD-kortet innan du börjar arbeta med programmet.

Instruktioner om hur man skapar partitioner med programmet

Det allra första är att överföra alla dina värdefulla filer från flashenheten till din PC, det vill säga efter det kommer allt att raderas från flashenheten.

- Öppna programmet

I avsnittet Skapa dubbelklickar du på plustecknet "+"

Den första delen "Del 1" välj Fat32, den andra "Del 2" välj önskad ext2/3/4 eller byt.
- Använd skjutreglaget för att ställa in storleken på varje avsnitt; kryssrutan "Format" ska vara markerad.

Bekräfta "Ok"

Allt är klart.

Hur man återställer en flash-enhet till full kapacitet
Om du bestämmer dig för att ta bort den andra partitionen från flashenheten kan du göra detta.
- Gå till telefoninställningarna, "Minne" och klicka på "Ta bort SD-kort".
- Öppna programmet
- I avsnittet Skapa klickar du på plustecknet "+" en gång
- I "Del 1" välj Fat32, ställ in skjutreglaget på flashenhetens fulla kapacitet, kryssrutan "Format" ska vara markerad.

Softkey, klicka på "tillämpa ändringar"

Behovet av att dela upp ett minneskort i flera sektioner uppstår vanligtvis när en Android-telefon/surfplatta inte har tillräckligt med inbyggt minne för att installera applikationer. Genom att utföra en liknande operation kan du frigöra utrymme på din telefon, till exempel genom att flytta till den andra delen av ett microSD-kort. Tidigare har vi redan berättat hur du kan skapa/slå samman partitioner på ett minneskort med och.

Det är inte alltid möjligt att hitta en återställning för en specifik telefon/surfplatta som stöder minneskortspartitionering, så i den här artikeln kommer vi att berätta hur du gör detta med Android-applikationen AParted.

Denna applikation tillhandahåller följande funktioner (från den officiella dokumentationen):

  • Partitionering av externt/internt minne på en Android-enhet.
  • Formatera det externa/interna minnet på en Android-enhet.
  • Ta bort partitioner.
  • Kontrollera och åtgärda filsystemfel.
  • Ändra storlek på partitioner.
  • Uppdatering av filsystem.

I den här artikeln kommer vi bara att använda den första av dem.

Förbereder för utsättning

Innan du delar upp, se till att du gör en säkerhetskopia av dina viktiga data (foton, videor, etc.), eftersom alla filer kommer att raderas från minneskortet under delningsprocessen.

Se till att det finns på din telefon; utan det fungerar inte AParted.

Innan du startar programmet måste du inaktivera minneskortet i Android-inställningarna. För att göra detta, gå till "Inställningar > Minne", i avsnittet för anslutna microSD-kort, klicka på "Säker borttagning" och bekräfta åtgärden.

Layout av framtida avsnitt

Starta AParted-applikationen, på fliken "SKAPA" kommer du att se två grafiska representationer av minneskortet i form av rektanglar: den nedre rektangeln med inskriptionen "SD-minneskort msdos partitionstabeller" visar den aktuella partitionslayouten, och den övre en "Nya msdos-partitionstabeller" - layouten av framtida partitioner på microSD-kort.

Klicka på knappen "LÄGG TILL" för att lägga till det första avsnittet och använd skjutreglaget för att ange dess storlek. Det här avsnittet kommer att vara tillgängligt för telefonen/surfplattan som externt minne för foton, musik etc. För en mer exakt uppdelning, klicka på siffran med MB, i fältet som visas, ange den exakta storleken i megabyte och bekräfta ändringarna genom att klicka på "OK". Lämna kryssrutan "Format" aktiverad och filsystemet "fat32" oförändrat.

Klicka på knappen "LÄGG TILL" igen för att lägga till en andra partition på microSD-kortet, som i framtiden kommer att fungera som en förlängning av systemminnet på Android-enheten. Använd skjutreglaget för att markera allt återstående utrymme, lämna kryssrutan "Format" aktiverad, klicka på "fat32"-inskriptionen och välj ett av följande filsystem: "ext2", "ext3" eller "ext4".

Och det är här det roliga börjar, det är tillrådligt att välja alternativet "ext4", men det finns ett antal anledningar till varför du inte kommer att kunna skapa en partition i det här filsystemet: kärnan/firmware för Android-systemet, minneskortets klass/tillverkare (kvalitet) osv.

Experimentera därför, försök först skapa en partition med "ext4", sedan "ext3" och "ext2". När allt kommer omkring stöder Link2SD-appen alla ovanstående filsystem.

Efter att ha utfört operationerna ovan bör rektangeln märkt "Nya msdos-partitionstabeller" visa layouten för de framtida partitionerna på ditt minneskort.

Utför en utsättning

För att tillämpa layouten för nya partitioner på minneskortet, klicka på knappen "APPLY". Appen AParted kommer att varna dig om att all data på det flyttbara mediet kommer att raderas.

Därefter kommer processen att partitionera och formatera minneskortspartitionerna att visas, när den nedre grafen "SD-minneskort msdos partitionstabell" kommer att visa resultatet av mediepartitioneringen. Gå till "Inställningar > Lagring" på din telefon/surfplatta igen och i avsnittet för externt minne, klicka på "Anslut SD-kort". Efter att ha anslutit och analyserat microSD-kortet med Android-systemet kommer du att se att dess minne har minskat till den storlek du ställt in.

Om telefonens status visar ett meddelande om att SD-kortet är skadat, starta om Android-systemet, efter omstart ska minneskortet ansluta automatiskt.

Konfigurera Link2SD

Installera och kör. Programmet bör automatiskt upptäcka närvaron av en andra partition på minneskortet och uppmana dig att skapa ett monteringsskript. Välj i listan filsystemet för den andra partitionen som du angav när du partitionerade minneskortet i AParted-applikationen, bekräfta begäran och efter att ha slutfört operationen klickar du på knappen "Starta om enheten".

Efter att ha startat om Android-systemet kan du överföra applikationer från enhetens minne till den andra partitionen på det externa minneskortet.

När jag utvecklade en tävlingsapplikation stötte jag på ett databaslagringsproblem. Problemet var hur jag identifierar det externa minneskortet. I allmänhet gav en sökning på Internet inget exakt svar. Därför, genom att kombinera alla resultat som hittats, samlade jag ihop min klass. Om någon är intresserad, titta under klippet.

Så låt oss börja med teorin.

Terminologi

Google berättar att det finns följande begrepp:
  1. Intern ( inre) minne är en del av minneskortet som är inbyggt i telefonen. När den används som standard är applikationsmappen skyddad från åtkomst av andra applikationer (med den interna lagringen).
  2. Extern ( extern) minne är det allmänna "externa minnet", dvs. detta kan antingen vara en del av det inbyggda minnet eller en enhet som kan tas bort. Vanligtvis är detta en del av det inbyggda minnet, senast jag såg en enhet tas bort var på Android 2.2, där det inbyggda minnet var cirka 2GB, och det anslutna minnet blev externt (Using the External Storage).
  3. Raderade ( avtagbar) minne - all lagring som kan tas bort från enheten utan "kirurgiska" ingrepp.

Före KitKat 4.4 tillhandahöll API:et ingen funktionalitet för att hämta externa minnesvägar. Från och med den här versionen (API 19) dök den offentliga abstrakta filfunktionen upp getExternalFilesDirs(Strängtyp), som returnerar en array av strängar med sökvägar till internt och externt minne. Men hur är det med vårt SD-kort, som sätts in i kortplatsen? Vi kan återigen inte få vägen dit.

sökresultat

För att svara på frågan vände jag mig till den allvetande Google. Men han gav mig inget klart svar heller. Många definitionsalternativ övervägdes, från att använda standardfunktioner som leder till externt minne, men de har inget att göra med att lagringsenheterna tas bort, till att bearbeta enhetsmonteringsregler (Android körs på Linux-kärnan). I de senare fallen användes "hardwired" sökvägar till mappen med monterade enheter (denna katalog är annorlunda i olika versioner). Glöm inte att monteringsreglerna ändras från version till version.

Till slut bestämde jag mig för att kombinera all kunskap jag hade fått och skrev min egen klass, som kan återvända vägar till externa och borttagna enheter.

Kodbeskrivning

En klass har skapats Montera enheten, som innehåller sökvägen till enheten, enhetstypen och en hash.
Det finns två typer av enheter (jag rörde inte det interna minnet, eftersom det kan nås via systemets API).

Public enum MountDeviceType ( EXTERNAL_SD_CARD, REMOVABLE_SD_CARD )
Och klassen skapades StorageHelper, som söker efter tillgängliga minneskort.

Klassen StorageHelper implementerar två sökmetoder - genom systemmiljön ( Miljö) och använda Linux-verktyget montera, eller snarare resultatet av dess utförande.

Metod ett - Miljö
När jag arbetar med miljön använder jag standardfunktionen getExternalStorageDirectory() för att få information om externt minne. För att få information om minnet som raderas använder jag miljövariabeln " SECONDARY_STORAGE".

Det finns alltid ett externt minne och finns vanligtvis alltid, så vi kontrollerar det för läsbarhet, räknar ut hashen och kommer ihåg det. Det kan finnas mycket minne som ska raderas, så det är nödvändigt att dela upp den resulterande strängen med avgränsare och kontrollera varje värde.

funktion fyllDevicesEnvirement

String path = android.os.Environment.getExternalStorageDirectory() .getAbsolutePath(); if (!path.trim().isEmpty() && android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) ( testAndAdd(sökväg, MountDeviceType.EXTERNAL_SD_CARD); ) // Hämta borttagningsverktyget String rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE"); if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) ( // Alla sekundära SD-KORT ​​uppdelade i array final String rawSecondaryStorages = rawSecondaryStoragesStr .split(File.pathSeparator) för (SecondaryStoragesScondary:SecondaryStorages) (rawSecondaryStorage, MountDeviceType.REMOVABLE_SD_CARD); ) )


Lösningen togs från stackoverflow. Svaret finns någonstans där nere.
Metod två - montera
Eftersom jag inte kunde få systemet att berätta för mig vägen till att minnet skulle raderas under lång tid, bestämde jag mig för att titta i riktning mot monterade enheter. Systemet har konfigurationsfiler som beskriver reglerna för montering av externa enheter. Allt skulle vara bra, men på Android version 4.* har bara dödliga inte tillgång till den här filen, så jag kommer inte att överväga den här metoden.

Låt oss återgå till monteringsverktyget. När det körs utan parametrar returnerar kommandot en lista över monterade filsystem. Enheterna som tas bort är vanligtvis i FAT-filsystemformatet, så vi kommer att markera rader som innehåller egenskapen " fett". Externt minne kännetecknas av parametern " säkring".

Obs: när du använder den här metoden bestäms inte alltid typerna av monterade enheter korrekt (mest troligt tog jag inte hänsyn till något). Jag märkte skillnaden på olika versioner av Android. Därför kan denna metod användas som en ytterligare metod.

fillDevicesProcess funktion

try ( Runtime runtime = Runtime.getRuntime(); proc = runtime.exec("mount"); try ( är = proc.getInputStream(); isr = new InputStreamReader(is); br = new BufferedReader(isr); while ( (line = br.readLine()) != null) ( if (line.contains("secure")) fortsätt; if (line.contains("asec")) fortsätt; if (line.contains("fat") ) (// TF-kort String kolumner = line.split(" "); if (kolumner != null && columns.length > 1) ( testAndAdd(kolumner, MountDeviceType.REMOVABLE_SD_CARD); ) ) else if (line.contains(" säkring")) (// intern(Extern) // lagring String kolumner = line.split(" "); if (kolumner != null && columns.length > 1) ( // mount = mount.concat(kolumner + " \n"); testAndAdd(kolumner, MountDeviceType.EXTERNAL_SD_CARD); ) ) ) ) slutligen ( ... ) ) catch (Undantag e) ( ... )

Källkoden för hela klassen finns inte någonstans ännu. En av dessa dagar ska jag försöka lägga upp det på gitHub.

Vilka mer använder vilka metoder?

Taggar: Lägg till taggar

Vissa Android-enheter har kortplatser för minneskort (vanligtvis microSD-format). Om din enhet stöder SD-kort kan du:

  • öka minneskapaciteten;
  • använda kortet för vissa funktioner och applikationer.

För att ta reda på om din enhet har en SD-kortplats, besök tillverkarens webbplats.

Notera. Vissa av dessa steg kan endast utföras på enheter som kör Android 6.0 och senare.

Hur man installerar ett SD-kort

Steg 1: Sätt i SD-kortet.
  1. Kontrollera var SD-kortplatsen finns.
  2. Stäng av din telefon.
  3. Ta bort SD-kortfacket eller ta bort bakstycket på enheten (beroende på modell). Lyft vid behov fliken som håller kortet.
  4. Placera SD-kortet i kortplatsen. Om du höjde låsfliken, sänk den.
  5. Sätt tillbaka SD-kortfacket eller bakstycket på enheten.
Steg 2: Slå på SD-kortet.
  1. Vänta tills SD-kortmeddelandet visas.
  2. Klick Ställa in.
  3. Välj önskad lagringstyp.
    • Flyttbart minne:
      Du kan överföra kortet till en annan enhet tillsammans med alla dina filer (som foton och musik). Applikationer kan inte flyttas till en flyttbar enhet.
    • Inre minne:
      Kortet kan endast lagra appar och data för den enheten. Om du flyttar den till en annan enhet kommer all data på den att raderas.
  4. Följ instruktionerna på skärmen för att konfigurera ditt SD-kort.
  5. Klicka på när du är klar Redo.

Hur man använder ett SD-kort

Hur man flyttar appar till SD-kort

Om du har anslutit kortet som internminne kan du överföra applikationer till det.

Notera. Alla applikationer kan inte överföras till ett SD-kort.

Hur man flyttar filer till SD-kort

Om du har installerat ett SD-kort som en flyttbar lagringsenhet kan du överföra olika filer till det, som musik och foton. Efter det kan de raderas från enhetens interna minne.

Steg 1: Kopiera filer till SD-kort.

Steg 2: Ta bort filer från ditt interna minne.

Du kan se innehållet på SD-kortet och se hur mycket utrymme som finns kvar.

När SD-kortet används som internminne

När SD-kortet används som en flyttbar lagringsenhet

  1. Svep nedåt från toppen av skärmen för att öppna meddelandepanelen.
  2. Tryck på under SD-kortaviseringen Öppen.

Dolphin kan lagra data på ett virtuellt SD-kort som heter sd.raw. Som standard kommer den att skapas med storleken 128MB.

Det virtuella SD-kortet har viktig användning för homebrew-appar på Dolphin. Project M och Mario Kart Wii anpassade spår är två bra exempel, eftersom vissa hembryggningsappar bara kan fungera med filer som är lagrade på SD-kortet för den riktiga hårdvaran som de designades för.

Innehåll

Skapa ett virtuellt SD-kort

Det rekommenderas att skapa en med storlek på minst 1 GB för stora hembryggade appar, till exempel Project M, och inte mer än 2 GB för bästa kompatibilitet eftersom det finns kompatibilitetsproblem med vissa hembryggade appar som försöker köra under ett SDHC-kort på den riktiga hårdvaran .

Kommandorad och körbara filer

WinImage är opålitligt, för konstigt nog kommer det att orsaka desynkronisering och få andra oförutsedda problem. ImDisk kommer att gå bra.

Snabbguide för att montera och redigera det virtuella SD-kortet med ImDisk virtuell diskdrivrutin:

  1. Högerklicka på sd.raw fil och klicka sedan "Montera som ImDisk Virtual Disk" från snabbmenyn.
  2. Kryssruta Avtagbart media slå sedan "OK". Den fördefinierade enhetsbeteckningen och allt annat kommer att fungera bra.
    • Det virtuella SD-kortet kommer nu att visas som "Flyttbar disk" där det inbyggda Explorer-fönstret kan läsa och skriva in där.
  3. När du är klar med att redigera det virtuella SD-kortet, avmontera det helt enkelt genom att högerklicka på "Flyttbar disk" och klicka sedan på "Avmontera ImDisk Virtual Disk" från snabbmenyn.
    • Det virtuella SD-kortet måste demonteras innan det används med Dolphin.

Delfininställning

Gå till Alternativ > Konfigurera... > Wii > och aktivera Sätt i SD-kort.

Användande

Med Homebrew App

De externa filerna som används för homebrew-appen måste lagras inom sd.raw och själva homebrew-appen ( boot.elf eller boot.dol) måste finnas utanför den för att Dolphin ska laddas. Project M, till exempel, kommer att laddas från SD-roten \projectm\ och Dolphin måste starta Project M igenom \apps\projectm\boot.elf, INTE i det virtuella SD-kortet. För enkelhetens skull är det idealiskt att ha samma kopior parallella mellan insidan och utsidan av det virtuella SD-kortet.

Det är dock möjligt att starta homebrew app från virtuellt SD-kort genom homebrew exploits för Wii.

Wii-spelstartappen fungerar bara om ett visst Wii-spel är inställt som standard ISO. I Dolphin-spellistan, öppna snabbmenyn (högerklicka) på valfritt Wii-spel och klicka Ställ in som standard ISO. Gör detta innan du laddar en homebrew-app med Dolphin.

För Netplay

Netplay kommer så småningom att avsynkronisera om något läser det virtuella SD-kortet som inte är klonat, oavsett samma storlek som det skapades och identiska fil-/mappstrukturer i roten. För att förhindra det, sd.raw måste kopieras från värdens dator till joiners-datorer innan du startar netplay. Om det virtuella SD-kortet användes offline eller online med skrivblockering inaktiverat kommer MD5-kontrollsumman att ändras ("Åtkomstdatum" för filerna är vad som är annorlunda på virtuellt SD-kort), men kommer inte att orsaka desync. SD-kortet måste kommer från någon annanstans eller utsätts för filerna som ändrats för att vara "annorlunda".

För Wii-spelstartappen måste användare i båda ändarna ha samma kopior av homebrew-appen och spelet i sin spellista först, ställ sedan in spelet som standard ISO, som nämnts i föregående avsnitt.