Android үшін виртуалды SD картасы. Android жүйесінде microSD жад картасының бұзылуы. Қолдау көрсетілетін файлдық жүйелер

Жад картасын бірнеше бөлікке бөлу қажеттілігі әдетте Android телефонында/планшетінде қолданбаларды орнату үшін жеткілікті кірістірілген жад болмаған кезде туындайды. Ұқсас әрекетті орындау арқылы телефоныңызда орынды босатуға болады, мысалы, екінші бөлімге өту microSD карталары. Бұрын және көмегімен жад картасында бөлімдерді қалай жасауға/біріктіруге болатынын айттық.

Жад картасын бөлуді қолдайтын белгілі бір телефон/планшет үшін қалпына келтіруді табу әрдайым мүмкін емес, сондықтан осы мақалада Android қолданбасы Aparted арқылы мұны қалай жасау керектігін айтамыз.

Бұл қолданба келесі мүмкіндіктерді қамтамасыз етеді (ресми құжаттамадан):

  • Сыртқы бөлу/ ішкі жады Android құрылғылары.
  • Android құрылғысының сыртқы/ішкі жадын пішімдеу.
  • Бөлімдерді жою.
  • Файлдық жүйе қателерін тексеру және түзету.
  • Бөлімдердің өлшемін өзгерту.
  • Файлдық жүйелерді жаңарту.

Бұл мақалада біз олардың біріншісін ғана қолданамыз.

Стейкаутқа дайындалу

Бұзып алмас бұрын, міндетті түрде жасаңыз сақтық көшірмесіз үшін маңызды деректер (фотосуреттер, бейнелер және т.б.), өйткені бөлімге бөлу кезінде барлық файлдар жад картасынан жойылады.

Оның телефоныңызда бар екеніне көз жеткізіңіз, онсыз Aparted жұмыс істемейді.

Қолданбаны бастамас бұрын жад картасын ажырату керек Android параметрлері. Мұны істеу үшін «Параметрлер > Жад» тармағына өтіп, қосылған microSD картасы бөлімінде «Қауіпсіз жою» тармағын басып, әрекетті растаңыз.

Болашақ бөлімдердің орналасуы

Aparted қолданбасын іске қосыңыз, «CREATE» қойындысында сіз жад картасының тіктөртбұрыштар түріндегі екі графикалық көрінісін көресіз: «SD жад картасы msdos бөлім кестелері» деген жазуы бар төменгі тіктөртбұрыш ағымдағы бөлім орналасуын көрсетеді, ал жоғарғы жағында. бір «Жаңа msdos бөлім кестелері» - microSD картасындағы болашақ бөлімдердің орналасуы.

Бірінші бөлімді қосу үшін «ҚОСУ» түймесін басыңыз және оның өлшемін көрсету үшін жүгірткіні пайдаланыңыз. Бұл бөлім телефонға/планшетке фотосуреттер, музыка және т.б. үшін сыртқы жад ретінде қолжетімді болады. Нақтырақ бөлу үшін пайда болған өрісте МБ бар нөмірді нұқыңыз, нақты өлшемді мегабайтпен енгізіңіз және «OK» түймесін басу арқылы өзгертулерді растаңыз. «Формат» құсбелгісін қосулы және «fat32» файлдық жүйесін өзгеріссіз қалдырыңыз.

Болашақта кеңейтім ретінде қызмет ететін microSD картасына екінші бөлімді қосу үшін «ҚОСУ» түймесін қайтадан басыңыз. жүйелік жады Android құрылғылары. Барлық қалған бос орынды таңдау үшін жүгірткіні пайдаланыңыз, «Формат» құсбелгісін қосулы қалдырыңыз, «fat32» жазуын басыңыз және келесі файлдық жүйелердің бірін таңдаңыз: «ext2», «ext3» немесе «ext4».

Міне, қызық осы жерден басталады, «ext4» опциясын таңдаған жөн, бірақ бұл файлдық жүйеде бөлім жасай алмауыңыздың бірнеше себептері бар: ядро/микробағдарлама Android жүйелері, жад картасының класы/өндіруші (сапасы) және т.б.

Сондықтан эксперимент жасаңыз, алдымен «ext4», содан кейін «ext3» және «ext2» бөлімдерін жасап көріңіз. Өйткені, Link2SD қолданбасы жоғарыда аталған барлық файлдық жүйелерді қолдайды.

Жоғарыдағы әрекеттерді орындағаннан кейін «Жаңа msdos бөлім кестелері» деп белгіленген тіктөртбұрыш жад картасының болашақ бөлімдерінің орналасуын көрсетуі керек.

Стейкаутты орындау

Жад картасына жаңа бөлімдердің орналасуын қолдану үшін «ҚОЛДАНУ» түймесін басыңыз. Aparted қолданбасы алынбалы құралдағы барлық деректердің жойылатынын ескертеді.

Әрі қарай жад картасының бөлімдерін бөлу және пішімдеу процесі көрсетіледі, оны аяқтағаннан кейін «SD жад картасының msdos бөлім кестесі» төменгі сызбасында медианы бөлу нәтижесі көрсетіледі. Телефонның/планшеттің «Параметрлер > Сақтау» бөліміне қайта өтіп, сыртқы жад бөлімінде «SD картасын қосу» түймесін басыңыз. Android жүйесі арқылы microSD картасын қосып, талдағаннан кейін оның жады сіз орнатқан өлшемге дейін азайғанын көресіз.

Телефон күйі SD картасының зақымдалғаны туралы хабарламаны көрсетсе, Android жүйесін қайта жүктеңіз, қайта жүктегеннен кейін жад картасы автоматты түрде қосылуы керек.

Link2SD орнату

Орнатыңыз және іске қосыңыз. Бағдарлама жад картасында екінші бөлімнің болуын автоматты түрде анықтап, орнату сценарийін жасауды ұсынуы керек. Тізімнен Aparted қолданбасында жад картасын бөлу кезінде көрсеткен екінші бөлімнің файлдық жүйесін таңдаңыз, сұрауды растаңыз және операцияны аяқтағаннан кейін «Құрылғыны қайта жүктеу» түймесін басыңыз.

Android жүйесін қайта жүктегеннен кейін қолданбаларды құрылғы жадынан сыртқы жад картасының екінші бөліміне тасымалдауға болады.

Байқау қосымшасын әзірлеу барысында мен дерекқорды сақтау мәселесіне тап болдым. Мәселе сыртқы жад картасын қалай анықтауда болды. Жалпы, интернеттен іздеу нақты жауап бермеді. Сондықтан барлық табылған нәтижелерді біріктіре отырып, мен өз сыныбымды жинадым. Егер біреуді қызықтырса, кесіндінің астына қараңыз.

Сонымен, теориядан бастайық.

Терминология

Google бізге келесі ұғымдар бар екенін айтады:
  1. Ішкі ( ішкі) жад телефонға орнатылған жад картасының бөлігі болып табылады. Әдепкі бойынша пайдаланылған кезде қолданба қалтасы басқа қолданбалардың кіруінен қорғалған (Ішкі жадты пайдалану).
  2. Сыртқы ( сыртқы) жады жалпы «сыртқы жады», яғни. бұл кірістірілген жадтың бөлігі немесе жоюға болатын құрылғы болуы мүмкін. Әдетте бұл кірістірілген жадтың бөлігі болып табылады, соңғы рет Android 2.2 жүйесінде құрылғы жойылғанын көрдім, мұнда кірістірілген жад шамамен 2 ГБ болды, ал қосылған жад сыртқы болды (Сыртқы жадты пайдалану).
  3. Жойылған ( алынбалы) жад – «хирургиялық» араласуларсыз құрылғыдан шығаруға болатын барлық жад.

KitKat 4.4 нұсқасына дейін API сыртқы жад жолдарын шығарып алу үшін функционалдылықты қамтамасыз етпеді. Осы нұсқадан (API 19) бастап, жалпыға ортақ дерексіз Файл функциясы пайда болды getExternalFilesDirs(Жол түрі), ол ішкі және сыртқы жадыға жолдары бар жолдар массивін қайтарады. Бірақ ұяға салынған SD картамыз туралы не деуге болады? Біз қайтадан оған жол таба алмаймыз.

Іздеу нәтижесі

Сұраққа жауап беру үшін мен бәрін білетін Google-ға жүгіндім. Бірақ ол да маған нақты жауап бермеді. Сыртқы жадқа әкелетін стандартты функцияларды пайдаланудан бастап, құрылғыны орнату ережелерін өңдеуге дейін (Android Linux ядросында жұмыс істейді) жойылатын сақтау құрылғыларына ешқандай қатысы жоқ көптеген анықтау опциялары қарастырылды. Соңғы жағдайларда орнатылған құрылғылары бар қалтаға «өткізілген» жолдар пайдаланылды (бұл каталог әртүрлі нұсқаларда әртүрлі). Орнату ережелері нұсқадан нұсқаға өзгеретінін ұмытпаңыз.

Сайып келгенде, мен барлық алған білімімді біріктіруді шештім және сыртқы және жойылған құрылғыларға жолдарды қайтара алатын өз класымды жаздым.

Код сипаттамасы

Сынып құрылды MountDevice, ол құрылғыға жолды, құрылғы түрін және хэшті қамтиды.
Құрылғылардың екі түрі бар (ішкі жадты ұстамадым, өйткені оған API жүйесі арқылы кіруге болады).

Қоғамдық нөмір MountDeviceType ( EXTERNAL_SD_CARD, REMOVABLE_SD_CARD )
Және сынып құрылды StorageHelper, ол қолжетімді жад карталарын іздейді.

StorageHelper класы екі іздеу әдісін жүзеге асырады - жүйелік орта арқылы ( Қоршаған орта) және Linux утилитасын пайдалану монтаждау, дәлірек айтқанда, оның орындалуының нәтижесі.

Бірінші әдіс – Қоршаған орта
Қоршаған ортамен жұмыс істеу кезінде сыртқы жад туралы ақпаратты алу үшін стандартты getExternalStorageDirectory() функциясын қолданамын. Жойылатын жад туралы ақпаратты алу үшін мен орта айнымалысын қолданамын « SECONDARY_STORAGE".

Әрқашан бір сыртқы жады бар және әдетте әрқашан бар, сондықтан біз оның оқылуын тексереміз, хэшті есептеп, оны есте сақтаймыз. Жойылатын жад көп болуы мүмкін, сондықтан алынған жолды бөлгіш арқылы бөліп, әрбір мәнді тексеру қажет.

fillDevicesEnvirement функциясы

Жол жолы = android.os.Environment.getExternalStorageDirectory() .getAbsolutePath(); егер (!path.trim().isEmpty() && android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) ( testAndAdd(жол, MountDeviceType.EXTERNAL_SD_CARD); ) // Жоюшыны алыңыз Жол rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE"); if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) (//Барлық қосымша SD-карталар массивке бөлінген соңғы жол rawSecondaryStorages = rawSecondaryStoragesStr .split(File.pathStoragesStrageSw(File.pathStorageSdacontraw) үшін); ) (testAndAdd(rawSecondaryStorage, MountDeviceType.REMOVABLE_SD_CARD); ) )


Шешім stackoverflow ішінен алынды. Жауап бір жерде.
Екінші әдіс - бекіту
Жүйені ұзақ уақыт бойы жойылатын жадқа апаратын жолды айта алмағандықтан, орнатылған құрылғылардың бағытына қарауды шештім. Жүйеде орнату ережелерін сипаттайтын конфигурация файлдары бар сыртқы құрылғылар. Барлығы жақсы болар еді, бірақ Android 4.* нұсқасында бұл файлға тек өлімші адамдар кіре алмайды, сондықтан мен бұл әдісті қарастырмаймын.

Монтаждау утилитасына оралайық. Параметрлерсіз іске қосылған кезде пәрмен бекітілген файлдық жүйелердің тізімін қайтарады. Жойылатын құрылғылар әдетте файл пішімінде болады. FAT жүйелері, содан кейін біз сипатты қамтитын жолдарды бөлектейміз май". Сыртқы жад параметрімен сипатталады" сақтандырғыш".

Ескерту: бұл әдісті пайдаланған кезде орнатылған құрылғылардың түрлері әрқашан дұрыс анықталмайды (мен бір нәрсені ескермедім). Мен Android-тың әртүрлі нұсқаларында айырмашылықты байқадым. Сондықтан бұл әдісті қосымша ретінде қолдануға болады.

fillDevicesProcess функциясы

көріңіз (Орындалу уақытының орындалу уақыты = Runtime.getRuntime(); proc = runtime.exec("mount"); көріңіз ( is = proc.getInputStream(); isr = жаңа InputStreamReader(is); br = жаңа BufferedReader(isr); while ( (line = br.readLine()) != null) ( егер (line.contains("secure")) жалғастыру; егер (line.contains("asec")) жалғастыру; егер (line.contains("май") ) (// TF картасы Жол бағандары = line.split(" "); егер (бағандар != null && columns.length > 1) ( testAndAdd(бағандар, MountDeviceType.REMOVABLE_SD_CARD); ) ) басқа болса (line.contains(" сақтандырғыш")) (// ішкі(Сыртқы) // сақтау Жол бағандары = line.split(" "); if (бағандар != null && columns.length > 1) ( // mount = mount.concat(columns + " \n"); testAndAdd(бағандар, MountDeviceType.EXTERNAL_SD_CARD); ) ) ) ) соңында ( ... ) ) catch (Ерекше жағдай e) ( ... )

ДереккөзБүкіл сынып әлі еш жерде жоқ. Күндердің бірінде мен оны gitHub сайтында жариялауға тырысамын.

Тағы кім қандай әдістерді қолданады?

Тегтер: тегтерді қосыңыз

Дельфин деректерді виртуалды SD картасына сақтай алады sd.raw. Әдепкі бойынша ол 128 МБ өлшемімен жасалады.

Виртуалды SD картасының Dolphin жүйесіндегі homebrew қолданбалары үшін маңызды пайдалануы бар. Project M және Mario Kart Wii теңшелетін тректер екі жақсы мысал болып табылады, өйткені кейбір homebrew қолданбалары тек олар әзірленген нақты жабдықтың SD картасында сақталған файлдарды пайдаланып жұмыс істей алады.

Мазмұны

Виртуалды SD картасын жасау

Үлкен homebrew қолданбалары үшін өлшемі кемінде 1 ГБ, мысалы, Project M және ең жақсы үйлесімділік үшін көлемі 2 ГБ-тан аспайтын біреуін жасау ұсынылады, өйткені нақты аппараттық құралда SDHC картасымен жұмыс істеуге тырысатын кейбір homebrew қолданбаларында үйлесімділік мәселелері бар. .

Пәрмен жолы және орындалатын файлдар

WinImage сенімсіз, өйткені таңқаларлық, ол синхрондауды және бірнеше басқа күтпеген мәселелерді тудырады. ImDisk жақсы болады.

Виртуалды SD картасын орнату және өңдеуге арналған жылдам нұсқаулық ImDisk виртуалды диск драйвері:

  1. Тінтуірдің оң жақ түймешігін басыңыз sd.rawфайлды таңдаңыз, содан кейін басыңыз «ImDisk виртуалды дискі ретінде орнату»контекстік мәзірден.
  2. Құсбелгіні қойыңыз Алынбалы құралсосын соқты «ЖАРАЙДЫ МА». Алдын ала анықталған диск әрпі және басқалары жақсы болады.
    • Виртуалды SD картасы енді «Алынбалы диск» ретінде пайда болады, онда жергілікті Explorer терезесі сол жерде оқи және жаза алады.
  3. Виртуалды SD картасын өңдеуді аяқтағаннан кейін, «Алынбалы дискіні» тінтуірдің оң жақ түймешігімен нұқу арқылы оны ажыратыңыз, содан кейін басыңыз. «ImDisk виртуалды дискісін ажырату»контекстік мәзірден.
    • Dolphin қолданбасымен пайдалану алдында виртуалды SD картасын ажырату керек.

Дельфинді орнату

Параметрлер > Конфигурациялау... > Wii > тармағына өтіп, қосыңыз SD картасын салыңыз.

Қолданылуы

Homebrew қолданбасымен

Homebrew қолданбасы үшін пайдаланылатын сыртқы файлдар ішінде сақталуы керек sd.rawжәне homebrew қолданбасының өзі ( boot.elfнемесе boot.dol) Дельфинді жүктеу үшін оның сыртында болуы керек. Мысалы, M жобасы SD түбірінен жүктеледі \projectm\және Dolphin M жобасын іске қосуы керек \apps\projectm\boot.elf, ЖОҚвиртуалды SD картасында. Ыңғайлы болу үшін виртуалды SD картасының ішінде және сыртында бірдей көшірмелердің параллель болуы өте қолайлы.

Дегенмен, Wii үшін homebrew эксплойттері арқылы виртуалды SD картасынан homebrew қолданбасын бастауға болады.

Wii ойынды іске қосу қолданбасы белгілі бір Wii ойыны әдепкі ISO ретінде орнатылған жағдайда ғана жұмыс істейді. Dolphin ойындарының тізімінде кез келген Wii ойынында контекстік мәзірді ашыңыз (тінтуірдің оң жақ түймешігімен басыңыз) және басыңыз Әдепкі ISO ретінде орнату. Мұны Dolphin көмегімен homebrew қолданбасын жүктемес бұрын орындаңыз.

Netplay үшін

Клондалмаған виртуалды SD картасын және оның түбіріндегі бірдей файл/қалта құрылымдарына қарамастан, кез келген нәрсе оқыса, Netplay ақырында синхрондауды тоқтатады. Бұған жол бермеу үшін, sd.raw netplay іске қоспас бұрын хост компьютерінен қосқыш компьютерлеріне көшіру керек. Виртуалды SD картасы офлайн режимінде немесе жазу блогы өшірілген желіде пайдаланылса, MD5 бақылау сомасы өзгереді (файлдардың "қолданылған күні" виртуалды SD картасында өзгеше), бірақ синхрондауды тудырмайды. SD картасы басқа жерден келуі немесе «басқа» болуы үшін өзгертілген файлдарға ұшырауы мүмкін.

Wii ойынды іске қосу қолданбасы үшін екі жағындағы пайдаланушыларда алдымен ойын тізімінде homebrew қолданбасының және ойынның бірдей көшірмелері болуы керек, содан кейін алдыңғы бөлімде айтылғандай ойынды әдепкі ISO ретінде орнату керек.

Кейбіреулерінде Android құрылғыларыЖад карталарына арналған слоттар бар (әдетте microSD пішімі). Құрылғыңыз SD карталарын қолдаса, мына әрекеттерді орындай аласыз:

  • есте сақтау қабілетін арттыру;
  • картаны кейбір функциялар мен қолданбалар үшін пайдаланыңыз.

Құрылғыда SD картасының ұясы бар-жоғын білу үшін өндірушінің веб-сайтына кіріңіз.

Ескерту.Осы қадамдардың кейбірін тек Android 6.0 және одан кейінгі нұсқалары бар құрылғыларда орындауға болады.

SD картасын қалай орнатуға болады

1-қадам: SD картасын салыңыз.
  1. SD картасы ұясы қай жерде орналасқанын тексеріңіз.
  2. Телефоныңызды өшіріңіз.
  3. SD картасының науасын алыңыз немесе алыңыз артқы қақпаққұрылғылар (үлгіге байланысты). Қажет болса, картаны ұстайтын құлақшаны көтеріңіз.
  4. SD картасын ұяға салыңыз. Егер сіз ұстап тұратын құлақшаны көтерсеңіз, оны төмендетіңіз.
  5. SD картасының науасын немесе құрылғының артқы қақпағын қайта орнатыңыз.
2-қадам: SD картасын қосыңыз.
  1. SD картасы туралы хабарландыру пайда болғанша күтіңіз.
  2. басыңыз Баптау.
  3. Қажетті сақтау түрін таңдаңыз.
    • Алынбалы сақтау орны:
      Картаны барлық файлдармен (фотосуреттер мен музыка сияқты) басқа құрылғыға тасымалдауға болады. Қолданбаларды алынбалы дискіге жылжыту мүмкін емес.
    • Ішкі жады:
      Карта қолданбалар мен деректерді тек сол құрылғыға сақтай алады. Оны басқа құрылғыға жылжытсаңыз, ондағы барлық деректер жойылады.
  4. SD картасын орнату үшін экрандағы нұсқауларды орындаңыз.
  5. Аяқтаған кезде басыңыз Дайын.

SD картасын қалай пайдалануға болады

Қолданбаларды SD картасына қалай жылжытуға болады

Картаны ішкі жад ретінде қосқан болсаңыз, оған қолданбаларды тасымалдауға болады.

Ескерту.Барлық қолданбаларды SD картасына тасымалдау мүмкін емес.

Файлдарды SD картасына қалай жылжытуға болады

SD картасын алынбалы жад құрылғысы ретінде орнатқан болсаңыз, оған музыка және фотосуреттер сияқты әртүрлі файлдарды тасымалдауға болады. Осыдан кейін оларды құрылғының ішкі жадынан жоюға болады.

1-қадам: файлдарды SD картасына көшіріңіз.

2-қадам: файлдарды ішкі жадтан жойыңыз.

SD картасының мазмұнын көруге және қанша орын қалғанын көруге болады.

SD картасы ішкі жад ретінде пайдаланылғанда

SD картасы алынбалы жад құрылғысы ретінде пайдаланылғанда

  1. Хабарландыру тақтасын ашу үшін экранның жоғарғы жағынан төмен сырғытыңыз.
  2. SD картасының хабарландыруы астында түймесін түртіңіз Ашық.

Бұл құрал телефонның немесе планшеттің SD картасында/USB дискісінде бөлімдерді жасауға және басқаруға мүмкіндік береді. Қосымша қосуға болады жедел жадысвоп бөлімін жасау арқылы құрылғыға. Сондай-ақ зақымдалған SD картасының файлдық жүйелерін жөндеуге болады. Тек «негізгі» бөлім түрін қолдайды.
Функциялар:

  • бөлімдерді құру;
  • бөлімдерді жою;
  • зақымдалған файлдық жүйелерді қалпына келтіру.

Қолдау көрсетілетін файлдық жүйелер:

  • FAT16, FAT32, EXT2, EXT3, EXT4, SWAP, NTFS (MoalBoal нұсқасынан бастап).

Талаптар:

  • Түбірлік телефон;
  • Busybox қолжетімділігі;
  • ішкі жадқа орнату;
  • Қолданбамен жұмыс істеуді бастамас бұрын SD картасын ажыратыңыз.

Бағдарламаның көмегімен бөлімдерді құру туралы нұсқаулар

Ең бірінші нәрсе - барлық құнды файлдарды флэш-дискіден компьютерге тасымалдау, яғни содан кейін бәрі флэш-дискіден жойылады.

- Бағдарламаны ашыңыз

«Жасау» бөлімінде «+» қосу белгісін екі рет басыңыз.

Бірінші бөлім «1-бөлім» Fat32 таңдаңыз, екіншісі «2-бөлім» қалаған ext2/3/4 немесе ауыстыруды таңдаңыз.
- Әр бөлімнің өлшемін орнату үшін жүгірткіні пайдаланыңыз, «Формат» құсбелгісін қою керек.

«Жарайды» растау

Бәрі дайын.

Флэш-дискіні толық сыйымдылыққа қалай қайтаруға болады
Егер сіз флэш-дискіден екінші бөлімді жоюды шешсеңіз, мұны істеуге болады.
- Телефон параметрлеріне, «Жад» бөліміне өтіп, «SD картасын жою» түймесін басыңыз.
- Бағдарламаны ашыңыз
- Жасау бөлімінде «+» қосу белгісін бір рет басыңыз
- «1-ші бөлімде» Fat32 таңдаңыз, жүгірткіні флэш-дискінің толық сыйымдылығына орнатыңыз, «Формат» құсбелгісін қою керек.

Бағдарламалық пернеден «өзгерістерді қолдану» түймесін басыңыз.




Жоғарғы