Virtuelt sd-kort for Android. Fordeling av microSD-minnekort på Android. Støttede filsystemer

Behovet for å dele et minnekort i flere seksjoner oppstår vanligvis når en Android-telefon/-nettbrett ikke har nok innebygd minne til å installere applikasjoner. Ved å utføre en lignende operasjon kan du frigjøre plass på telefonen, for eksempel ved å gå til den andre partisjonen microSD-kort. Tidligere har vi allerede fortalt deg hvordan du kan opprette/slå sammen partisjoner på et minnekort ved å bruke og.

Det er ikke alltid mulig å finne en gjenoppretting for en bestemt telefon/nettbrett som støtter partisjonering av minnekort, så i denne artikkelen vil vi fortelle deg hvordan du gjør dette ved å bruke Android-applikasjonen AParted.

Denne applikasjonen har følgende funksjoner (fra den offisielle dokumentasjonen):

  • Partisjonering ekstern/ internt minne Android-enheter.
  • Formatering av det eksterne/interne minnet til en Android-enhet.
  • Fjerning av partisjoner.
  • Sjekke og fikse filsystemfeil.
  • Endre størrelse på partisjoner.
  • Oppdatering av filsystemer.

I denne artikkelen vil vi bare bruke den første av dem.

Forbereder for utsetting

Før du bryter ned, sørg for å gjøre sikkerhetskopi viktige data for deg (bilder, videoer osv.), siden alle filer vil bli slettet fra minnekortet under partisjoneringsprosessen.

Pass på at den er til stede på telefonen din; uten den fungerer ikke Aparted.

Før du starter programmet, må du koble fra minnekortet Android-innstillinger. For å gjøre dette, gå til "Innstillinger > Minne", i delen for tilkoblet microSD-kort, klikk på elementet "Trygg fjerning" og bekreft handlingen.

Oppsett av fremtidige seksjoner

Start AParted-applikasjonen, på "CREATE"-fanen vil du se to grafiske representasjoner av minnekortet i form av rektangler: det nedre rektangelet med inskripsjonen "SD-minnekort msdos partisjonstabeller" viser gjeldende partisjonsoppsett, og det øvre en "Nye msdos-partisjonstabeller" - utformingen av fremtidige partisjoner på microSD-kort.

Klikk på "LEGG TIL"-knappen for å legge til den første delen og bruk glidebryteren for å angi størrelsen. Denne delen vil være tilgjengelig for telefonen/nettbrettet som eksternt minne for bilder, musikk osv. For en mer nøyaktig oversikt, klikk på tallet med MB, i feltet som vises, skriv inn den nøyaktige størrelsen i megabyte og bekreft endringene ved å klikke "OK". La "Format"-avmerkingsboksen være aktivert og "fat32"-filsystemet uendret.

Klikk på "ADD"-knappen igjen for å legge til en andre partisjon på microSD-kortet, som vil fungere som en utvidelse i fremtiden systemminne Android-enheter. Bruk glidebryteren til å velge all gjenværende plass, la "Format"-avmerkingsboksen være aktivert, klikk på "fat32"-inskripsjonen og velg ett av følgende filsystemer: "ext2", "ext3" eller "ext4".

Og det er her moroa begynner, det anbefales å velge alternativet "ext4", men det er flere grunner til at du ikke vil kunne opprette en partisjon i dette filsystemet: kjerne/fastvare Android-systemer, klasse/produsent (kvalitet) på minnekort osv.

Derfor, eksperimenter, prøv først å lage en partisjon med "ext4", deretter "ext3" og "ext2". Tross alt støtter Link2SD-appen alle de ovennevnte filsystemene.

Etter å ha utført operasjonene ovenfor, skal rektangelet merket "Nye msdos-partisjonstabeller" vise oppsettet til fremtidige partisjoner på minnekortet ditt.

Utføre en utsetting

For å bruke oppsettet til nye partisjoner på minnekortet, klikk på "BRUK"-knappen. AParted-applikasjonen vil advare deg om at alle data på det flyttbare mediet vil bli slettet.

Deretter vil prosessen med å partisjonere og formatere minnekortpartisjonene vises, når den nedre grafen "SD-minnekort msdos partisjonstabell" vil vise resultatet av mediepartisjonering. Gå til "Innstillinger > Lagring" på telefonen/nettbrettet igjen, og klikk på "Koble til SD-kort" i den eksterne minnedelen. Etter å ha koblet til og analysert microSD-kortet av Android-systemet, vil du se at minnet er redusert til størrelsen du angir.

Hvis telefonstatusen viser en melding om at SD-kortet er skadet, start Android-systemet på nytt, etter omstart skal minnekortet kobles til automatisk.

Sette opp Link2SD

Installer og kjør. Programmet skal automatisk oppdage tilstedeværelsen av en andre partisjon på minnekortet og be deg om å lage et monteringsskript. Velg i listen filsystemet til den andre partisjonen som du spesifiserte da du partisjonerte minnekortet i AParted-applikasjonen, bekreft forespørselen, og etter å ha fullført operasjonen, klikk på "Reboot device" -knappen.

Etter å ha startet Android-systemet på nytt, kan du overføre applikasjoner fra enhetsminnet til den andre partisjonen på det eksterne minnekortet.

Mens jeg utviklet en konkurranseapplikasjon, møtte jeg et databaselagringsproblem. Problemet var hvordan jeg identifiserer det eksterne minnekortet. Generelt ga et søk på Internett ikke noe eksakt svar. Derfor, ved å kombinere alle resultatene som ble funnet, samlet jeg klassen min. Hvis noen er interessert, se under kuttet.

Så la oss starte med teorien.

Terminologi

Google forteller oss at det er følgende konsepter:
  1. Intern ( innvendig) minne er en del av minnekortet som er innebygd i telefonen. Når den brukes som standard, er applikasjonsmappen beskyttet mot tilgang fra andre applikasjoner (ved bruk av intern lagring).
  2. Ekstern ( utvendig) minne er den generelle "eksterne lagring", dvs. dette kan enten være en del av det innebygde minnet eller en enhet som kan fjernes. Vanligvis er dette en del av det innebygde minnet, siste gang jeg så en enhet bli fjernet var på Android 2.2, hvor det innebygde minnet var på ca 2GB, og det tilkoblede minnet ble eksternt (Bruker den eksterne lagringen).
  3. Slettet ( flyttbar) minne - all lagring som kan fjernes fra enheten uten "kirurgiske" inngrep.

Før KitKat 4.4 ga ikke API-en funksjonalitet for å hente eksterne minnebaner. Fra og med denne versjonen (API 19), dukket den offentlige abstrakte filfunksjonen opp getExternalFilesDirs(String type), som returnerer en rekke strenger med baner til internt og eksternt minne. Men hva med vårt SD-kort, som settes inn i sporet? Vi kan igjen ikke få veien til det.

søkeresultater

For å svare på spørsmålet henvendte jeg meg til den allvitende Google. Men han ga meg heller ikke noe klart svar. Mange definisjonsalternativer ble vurdert, fra bruk av standardfunksjoner som fører til eksternt minne, men de har ingenting å gjøre med at lagringsenhetene fjernes, til behandling av enhetsmonteringsregler (Android kjører på Linux-kjernen). I de sistnevnte tilfellene ble "hardwired" stier til mappen med monterte enheter brukt (denne katalogen er forskjellig i forskjellige versjoner). Ikke glem at monteringsreglene endres fra versjon til versjon.

Til slutt bestemte jeg meg for å kombinere all kunnskapen jeg hadde fått og skrev min egen klasse, som kan returnere stier til eksterne og slettede enheter.

Kodebeskrivelse

En klasse er opprettet Monter enhet, som inneholder banen til enheten, enhetstypen og en hash.
Det er to typer enheter (jeg rørte ikke det interne minnet, siden det kan nås via systemets API).

Offentlig enum MountDeviceType ( EXTERNAL_SD_CARD, REMOVABLE_SD_CARD )
Og klassen ble opprettet Lagringshjelper, som søker etter tilgjengelige minnekort.

StorageHelper-klassen implementerer to søkemetoder - gjennom systemmiljøet ( Miljø) og bruke Linux-verktøyet montere, eller rettere sagt resultatet av dens utførelse.

Metode én - Miljø
Når jeg jobber med miljøet bruker jeg standard funksjonen getExternalStorageDirectory() for å få informasjon om eksternt minne. For å få informasjon om minnet som slettes, bruker jeg miljøvariabelen " SEKUNDÆR LAGRING".

Det er alltid ett eksternt minne og eksisterer vanligvis alltid, så vi sjekker det for lesbarhet, beregner hashen og husker det. Det kan være mye minne som skal slettes, så det er nødvendig å dele den resulterende strengen med skilletegn og kontrollere hver verdi.

funksjon fillDevicesEnvirement

String path = android.os.Environment.getExternalStorageDirectory() .getAbsolutePath(); if (!path.trim().isEmpty() && android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) ( testAndAdd(path, MountDeviceType.EXTERNAL_SD_CARD); ) // Få fjerneren String rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE"); if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) ( // All Secondary SD-CARDs delt inn i array final String rawSecondaryStorages = rawSecondaryStoragesStr .split(File.pathSeparator) for (condaryStoragesScondary:SecondaryStorages) (rawSecondaryStorage, MountDeviceType.REMOVABLE_SD_CARD); ) )


Løsningen ble tatt fra overløp. Svaret er et sted der nede.
Metode to - montering
Siden jeg ikke kunne få systemet til å fortelle meg banen til minnet som ble slettet i lang tid, bestemte jeg meg for å se i retning av monterte enheter. Systemet har konfigurasjonsfiler som beskriver monteringsreglene eksterne enheter. Alt ville være bra, men på Android versjon 4.* har ikke bare dødelige tilgang til denne filen, så jeg vil ikke vurdere denne metoden.

La oss gå tilbake til monteringsverktøyet. Når den kjøres uten parametere, returnerer kommandoen en liste over monterte filsystemer. Enheter som skal slettes er vanligvis i filformat. FAT-systemer, så vil vi fremheve linjer som inneholder karakteristikken " fett". Eksternt minne vil bli preget av parameteren " lunte".

Merk: Når du bruker denne metoden, blir ikke alltid typene monterte enheter bestemt riktig (mest sannsynlig tok jeg ikke hensyn til noe). Jeg la merke til forskjellen på forskjellige versjoner av Android. Derfor kan denne metoden brukes som en ekstra.

fillDevicesProcess funksjon

try ( Runtime runtime = Runtime.getRuntime(); proc = runtime.exec("mount"); try ( er = proc.getInputStream(); isr = new InputStreamReader(is); br = new BufferedReader(isr); while ( (line = br.readLine()) != null) ( if (line.contains("secure")) fortsett; if (line.contains("asec")) fortsett; if (line.contains("fat") ) (// TF-kort String columns = line.split(" "); if (columns != null && columns.length > 1) ( testAndAdd(columns, MountDeviceType.REMOVABLE_SD_CARD); ) ) else if (line.contains(" fuse")) (// internal(External) // storage String columns = line.split(" "); if (columns != null && columns.length > 1) ( // mount = mount.concat(columns + " \n"); testAndAdd(kolonner, MountDeviceType.EXTERNAL_SD_CARD); ) ) ) ) til slutt ( ... ) ) catch (Unntak e) ( ... )

Kilde Hele klassen befinner seg ingen steder ennå. En av disse dagene skal jeg prøve å legge det ut på gitHub.

Hvem andre bruker hvilke metoder?

Tags: Legg til tagger

Dolphin kan lagre data til et virtuelt SD-kort som heter sd.raw. Som standard vil den bli opprettet med størrelsen 128MB.

Det virtuelle SD-kortet har viktig bruk for hjemmebryggeapper på Dolphin. Project M- og Mario Kart Wii-tilpassede spor er to gode eksempler, ettersom noen hjemmebryggede apper bare kan fungere ved å bruke filer som er lagret på SD-kortet til den virkelige maskinvaren de er designet for.

Innhold

Opprette et virtuelt SD-kort

Det anbefales å lage en med størrelse på minst 1 GB for store hjemmebryggeapper, for eksempel Project M, og ikke mer enn 2GB for best mulig kompatibilitet, da det er kompatibilitetsproblemer med enkelte hjemmebryggeapper som prøver å kjøre under et SDHC-kort på den virkelige maskinvaren .

Kommandolinje og kjørbare filer

WinImage er upålitelig, for merkelig nok vil det forårsake desynkronisering og få andre uforutsette problemer. ImDisk vil være bra.

Hurtigguide for montering og redigering av det virtuelle SD-kortet med ImDisk Virtual Disk Driver:

  1. Høyreklikk på sd.raw fil og klikk deretter "Monter som ImDisk Virtual Disk" fra kontekstmenyen.
  2. Avmerkingsboks Flyttbare medier traff deretter "OK". Den forhåndsdefinerte stasjonsbokstaven og alt annet vil fungere fint.
    • Det virtuelle SD-kortet vil nå vises som "Flyttbar disk" der det opprinnelige Explorer-vinduet kan lese og skrive der.
  3. Når du er ferdig med å redigere det virtuelle SD-kortet, kan du ganske enkelt avmontere det ved å høyreklikke på "Flyttbar disk" og deretter klikke "Avmonter ImDisk Virtual Disk" fra kontekstmenyen.
    • Det virtuelle SD-kortet må demonteres før bruk med Dolphin.

Delfininnstilling

Gå til Alternativer > Konfigurer... > Wii > og aktiver Sett inn SD-kort.

Bruk

Med Homebrew-appen

De eksterne filene som brukes for homebrew-appen må lagres innenfor sd.raw og selve homebrew-appen ( støvel.elf eller boot.dol) må eksistere utenfor den for at Dolphin skal lastes. Prosjekt M, for eksempel, vil lastes fra SD-roten \projectm\ og Dolphin må starte Project M gjennom \apps\projectm\boot.elf, IKKE i det virtuelle SD-kortet. For enkelhets skyld er det ideelt å ha samme kopier parallelt mellom innsiden og utsiden av det virtuelle SD-kortet.

Det er imidlertid mulig å starte homebrew-appen fra virtuelt SD-kort gjennom homebrew-utnyttelser for Wii.

Wii-spillstartappen fungerer bare hvis et bestemt Wii-spill er satt som standard ISO. I Dolphin-spilllisten åpner du kontekstmenyen (høyreklikk) på et hvilket som helst Wii-spill og klikker Angi som standard ISO. Gjør dette før du laster inn en hjemmebrygg-app med Dolphin.

For Netplay

Netplay vil til slutt desynkronisere hvis noe leser det virtuelle SD-kortet som ikke er klonet, uavhengig av samme størrelse det ble opprettet, og identiske fil-/mappestrukturer innenfor roten. For å forhindre det, sd.raw må kopieres fra vertsdatamaskinen til joiners datamaskiner før netplay startes. Hvis det virtuelle SD-kortet ble brukt offline eller på nett med skriveblokk deaktivert, vil MD5-sjekksummen endres («Dato tilgang» for filene er det som er annerledes på virtuelle SD-kort), men vil ikke forårsake desynkronisering. SD-kortet må kommer fra andre steder eller er utsatt for filene som er modifisert til å være "annerledes".

For Wii-spillstartappen må brukere i begge ender ha de samme kopiene av homebrew-appen og spillet i spilllisten først, og deretter angi spillet som standard ISO, som nevnt i forrige avsnitt.

I noen Android-enheter Det er spor for minnekort (vanligvis microSD-format). Hvis enheten din støtter SD-kort, kan du:

  • øke minnekapasiteten;
  • bruke kortet til enkelte funksjoner og applikasjoner.

For å finne ut om enheten din har et SD-kortspor, besøk produsentens nettsted.

Merk. Noen av disse trinnene kan bare utføres på enheter som kjører Android 6.0 og nyere.

Hvordan installere et SD-kort

Trinn 1: Sett inn SD-kortet.
  1. Sjekk hvor SD-kortsporet er plassert.
  2. Slå av telefonen.
  3. Ta ut SD-kortskuffen eller fjern bakdeksel enheter (avhengig av modell). Løft om nødvendig tappen som holder kortet.
  4. Plasser SD-kortet i sporet. Hvis du løftet festetappen, senk den.
  5. Sett tilbake SD-kortskuffen eller bakdekselet på enheten.
Trinn 2: Slå på SD-kortet.
  1. Vent til SD-kortvarslingen vises.
  2. Klikk Melodi.
  3. Velg ønsket lagringstype.
    • Avtakbar lagring:
      Du kan overføre kortet til en annen enhet sammen med alle filene dine (som bilder og musikk). Apper kan ikke flyttes til en flyttbar stasjon.
    • Indre minne:
      Kortet kan bare lagre apper og data for den enheten. Hvis du flytter den til en annen enhet, vil all data på den bli slettet.
  4. Følg instruksjonene på skjermen for å konfigurere SD-kortet.
  5. Klikk på når du er ferdig Klar.

Slik bruker du et SD-kort

Hvordan flytte apper til SD-kort

Hvis du har koblet til kortet som intern lagring, kan du overføre applikasjoner til det.

Merk. Ikke alle applikasjoner kan overføres til et SD-kort.

Hvordan flytte filer til SD-kort

Hvis du har installert et SD-kort som en flyttbar lagringsenhet, kan du overføre ulike filer til det, for eksempel musikk og bilder. Etter det kan de slettes fra enhetens interne minne.

Trinn 1: Kopier filer til SD-kort.

Trinn 2: Slett filer fra din interne lagring.

Du kan se innholdet på SD-kortet og se hvor mye plass som er igjen.

Når SD-kortet brukes som intern lagring

Når SD-kortet brukes som en flyttbar lagringsenhet

  1. Sveip ned fra toppen av skjermen for å åpne varslingspanelet.
  2. Trykk på under SD-kortvarslingen Åpen.

Dette verktøyet lar deg opprette og administrere partisjoner på SD-kortet/USB-stasjonen på telefonen eller nettbrettet. Du kan legge til flere tilfeldig tilgangsminne til enheten, og oppretter en byttepartisjon. Du kan også reparere skadede SD-kortfilsystemer. Støtter bare "hoved" partisjonstype.
Funksjoner:

  • lage partisjoner;
  • sletting av partisjoner;
  • gjenoppretting av skadede filsystemer.

Støttede filsystemer:

  • FAT16, FAT32, EXT2, EXT3, EXT4, SWAP, NTFS (fra MoalBoal-versjonen).

Krav:

  • Root telefon;
  • tilgjengeligheten av Busybox;
  • installasjon i internt minne;
  • Før du begynner å jobbe med applikasjonen, koble fra SD-kortet.

Instruksjoner for hvordan du oppretter partisjoner ved hjelp av programmet

Det aller første er å overføre alle dine verdifulle filer fra flash-stasjonen til PC-en din, det vil si at etter det vil alt bli slettet fra flash-stasjonen.

- Åpne programmet

I Opprett-delen dobbeltklikker du på plusstegnet "+"

Den første delen "Del 1" velg Fat32, den andre "Del 2" velg ønsket ext2/3/4 eller swap.
- Bruk glidebryteren for å angi størrelsen på hver seksjon; "Format"-avmerkingsboksen skal være merket.

Bekreft "Ok"

Alt er klart.

Hvordan få en flash-stasjon tilbake til full kapasitet
Hvis du bestemmer deg for å slette den andre partisjonen fra flash-stasjonen, kan du gjøre dette.
- Gå til telefoninnstillingene, "Minne" og klikk på "Fjern SD-kort".
- Åpne programmet
- I Opprett-delen klikker du på plusstegnet "+" én gang
- I "Del 1" velg Fat32, sett glidebryteren til full kapasitet på flash-stasjonen, avkrysningsboksen "Format" skal være merket.

Myktast, klikk "bruk endringer"




Topp