Pääsivulle | TIETOTEKNIIKAN PÄÄSIVULLE
Kopiointi Windows <-> Mac
Macin ja Windows-koneiden sekakäyttäjä löytää levyiltään usein
"ylimääräisiä" aputiedostoja ja joskus myös kopiointeihin liittyy
ongelmia. Seuraavassa kerron tietoja ja kokemuksia tällaisesta.
Ensisijaisesti käytän kodin lähiverkkoa tiedostojen kopiointiin
varsinkin jos kopioitavaa on yhtään enemmän. Valitettavasti
kotiverkko joskus kieltäytyy yhteistyöstä, jos Windows-kone on
toinen osapuoli. Seuraava vaihtoehto on OneDrive:n kautta, ja sitä
seuraava muistitikulla (varsinkin jos on vain muutama tiedosto
kopioitavana). OneDriveen ei jaksa uploadata satoja megoja, joten
silloin järjestys on lähiverkko - muistitikku.
Niin kauan kun muistitikku oli formatoitu FAT32, oli muistitikun
käytössä erilaisia ongelmia, joita jäljempänä on kuvattu. Kun
siirryin exFAT-formatointiin, ongelmat pääosin hävisivät. Joka
tapauksessa muistitikku kannattaa formatoida muutaman kuukauden
välein.
Pilvipalvelut
OneDrive ja DropBox ovat toimivia paikkoja tiedostojen kopiointiin.
Ilmeisesti ne hoitavat asianmukaisesti alternate data streamit
(katso alempana), niin että tiedostot tulevat ehjinä perille.
Molempia voi käyttää selaimessa tai sitten työasemaan asennettavan
paikallisen sovelluksen avulla, joka hoitaa synkronoinnit pilveen.
Ei kuitenkaan tule lähettää valmiiksi pakattuna (zip)
tiedostojoukkoa, joiden nimissä on skandeja. Skandit vääristyvät.
Käytän normaalisti OneDriven työpöytäsovellusta Macissä ja
Windowsissa, ja jos se ei toimi, niin menen siihen selaimen avulla.
Jos kumpikaan ei toimi, niin DropBox on minulla varareitti
muistitikun ohella.
OneDrive:n Windows-client takkuili syksyllä 2015 aika usein (Windows
8.1:ssa), mutta bugit on taidettu korjata, koska ongelmia ei ole
ollut pitkään aikaan.
Kopiointi Macistä Windowsiin muistitikun kautta
Macissä tiedostoon liittyvä tieto on jaettu kahteen osaan:
varsinainen data jonka käyttäjä luo (esimerkiksi tekstisisältö), ja
ns. resource fork -osa jossa on dataan liittyvää lisätietoa
(resource fork = alternate data streams ADS). Tämä jälkimmäinen voi
olla esimerkiksi dokumenttiin liittyviä asetuksia, tieto www-sivusta
mistä dokumentti on haettu, kuvan muokkausajankohta, sovellus jolla
tiedosto on tehty jne.
Huom! Kun siirryin käyttämään muistitikussa exFAT-formatointia, on
seuraavassa esitetyt ongelmat kadonneet. Jäljelle jäi vain se
ongelma, että muistitikku vähitellen täyttyy vaikka se olisi
kokonaan tyhjennetty (explorer ja finder ei näe mitään tiedostoja).
Eli formatointi aika-ajoin on tarpeen.
Macin OSX:ssä resource fork -tiedot kirjoitetaan levyn HFS+ -osion
rakenteisiin ja itse tiedosto näkyy yhtenä ja olennaisesti on vain
yksi tiedosto. Mutta jos tiedosto kopioidaan levylle, jonka
formatointityyppi on erilainen (esimerkiksi FAT32 tai exFAT), niin
OSX:n Finder kirjoittaa sinne resource fork -osan erillisenä
tiedostona. Joten kopioitu tiedosto löytyy kaksiosaisena,
esimerkiksi:
Kertomus.docx ja ._Kertomus.docx
Laitekuva.png ja ._Laitekuva.png
Macissa Office Word ei tarvitse resource fork -tiedostoa ainakaan
docx-tiedoston täydentäjänä. Kun docx-tiedoston kopioi
FAT32-muistitikulle, niin sinne syntyy myös 4096 tavun pituinen
resource fork -tiedosto, käytännössä tyhjänä. Heksaeditorilla voi
vilkaista, että tiedostossa on alussa vakio-otsaketietoa, sitten
paljon tyhjää, ja loppupäässä teksti "This resource fork
intentionally left blank".
Kun Macissä muokkaa kuvatiedostoa Photoshopilla, niin metatietoa
tallentuu paljon. FAT32-osioon kopioidessa syntyy paljon tietoa
sisältävä resource fork -tiedosto. Yksinkertaisen
laitekytkentäpiirrokseni png-tiedosto on kooltaan 62 kt ja sen
resource fork -tiedosto 59 kt.
Kun sitten olen kopioinut muistitikulta tiedostot Windows-koneelle
(jossa NTFS-osiointi), olen kopioinut vain varsinaiset datatiedostot
ja sen jälkeen hävittänyt muistitikulta kaikki resource fork
-tiedostot.
Mielenkiintoinen ilmiö esiintyy muistitikulla (fat32) joskus, katso
kuva alla. Nyt tikulla on Macissa tallennettu LUEMINUT ENSIN.docx ja
sen resource fork. Seuraavana päivänä kopioin tikulle uuden
tiedostoversion Windows-koneelta, mutta sepä ilmaantui sinne omana
rivinään:

Tässä tapauksessa levyn hakemisto oli mennyt sekaisin, mikään
sovellus ei saanut auki tiedostoja. Muistitikku piti formatoida.
Vastaavaa tapahtui 1-2 kk välein. Jotain epästabiilia löytyy
kopioitaessa ja poistaessa vuoroin Macistä ja Windowsista.
Toisenlainen ongelma tulee siitä, että Macin Finder (ja sovellukset)
tallentaa tiedostonimen skandit eri tavalla kuin Windowsissa, eli ne
tallennetaan kaksiskalarisena (kahden merkin pituinen tunniste) eikä
siis yhtenä merkkinä (ascii-koodina). Oheisessa kuvaparissa näkyy
muistitikulta kopioitu kansio Windows-koneessa vanhan kansion
vieressä, yläkuvassa Windows Explorerissa ja alakuvassa
komentokehotteessa. Alakuvasta näkyy että tiedostonimen merkki ä on
riveillä erilainen:

Kopiointi Windowsista Macciin muistitikun kautta
Tehdään niinkuin on luontevaa: kopioi Explorerin avulla tiedosto
muistitikulle (osiolta NTFS -> exFAT) ja sitten Macissa Finderin
avulla muistitikulta ulos (osiolta exFAT -> HFS+). Ja Macissä
poista muistitikulta tiedostot, jotka olet sieltä kopioinut pois.
Jos muistitikulla on edelliseltä kierrokselta jäljellä Resource Fork
-tiedostoja, niin Mac yhdistää uudet tiedostot samannimisen
resurssitiedoston kanssa, mikä voi olla epätoivottavaa. Joten on
paikallaan poistaa resurssitiedostot viimeistään kun kopioi
muistitikulle uusia tiedostoja Windowsista.
Macissä tiedostojen poistamisen yhteydessä exFAT-muistitikulle
syntyy roskakori joka ei näy Macin Finderissa:
.Trashes (tämä kansio on macOS-roskakori josta
löytyy poistetut tiedostot)
._.Trashes (tämä syntyy aina kun
muistitikku kytketään Macciin)
Eli tiedostojen poistaminen Finderin avulla ei vapauta tilaa
muistitikulta, koska tiedostot löytyvät edelleen roskakorista. Nämä
saa pois tyhjentämällä roskakori Macin käyttöliittymässä.
Kopiointi zip-tiedostona
Jos Windowsissa pakkaat joukon tiedostoja zip-paketiksi, ja kopioit
sen Macciin, niin voi olla edessä pieni yllätys: tiedostonimien
skandit eivät näykään Macissä skandeina vaan erikoismerkkeinä.
Skandinimisiä tiedostoja kopioitaessa ilmiötä ei esiinny, vaan
ainoastaan zip-paketeissa. Viimeksi tein zip-paketin Windows
8.1:ssä, kopioin sen OneDriveen, josta edelleen Macciin, ja purin
zipin Macissä. Skandit eivät säilyneet tiedostonimissä.
Muita muistitikun tiedostoja
Muistitikulla on muitakin macOS:n systeemitiedostoja, joita Macin
käyttäjä ei näe Finderissa, mutta jotka näkyvät Windowsissa ja Macin
terminaalissa. Näitä kopioituu myös Windows-koneeseen ellei ole
tarkkana:
.fseventsd (tämä kansio sisältää indeksointitietoja
Macin hakusovellusta Spotlight varten)
.Spotlight-V100 (myös tämä kansio sisältää
indeksointitietoja Macin hakusovellusta varten)
.TemporaryItems (tämä kansio on Finderin ja Macin
sovellusten tilapäistietojen kansio)
._.TemporaryItems (liittyy edelliseen, sen
resource fork)
.apdisk (tämä xml-tiedosto sisältää
muistitikku-volumen tunnisteen ja nimen)
._.apdisk (edelliseen liittyvä resource fork)
.DS_Store (sisältää tietoja kansion asetuksista
ja ikonien sijainneista jne)
Windows-koneessa edellämainitut tiedostot eivät haittaa mitään, ja
muistitikulta niitä saa huoletta poistaa. Mac tekee uudet jos
tarvitsee.
Windows-koneen (NTFS) systeemitiedostoja
Eivät pisteellä alkavat tiedostot ole mitään Macin erikoisuuksia,
vaan niitä löytyy myös Windows-koneesta. Ne saa näkyviin
tyhjentämällä kansion asetuksista ruksipaikan "Piilota suojatut
käyttöjärjestelmätiedostot".
Tekee Windows muitakin systeemitiedostoja sinne tänne. Useimmille
lienee tuttu tiedosto Thumb.db, joka syntyy kuvia sisältävään
kansioon. Siihen on pakattu kuvista pikkukuvat kansion kuvanäkymiä
varten.
Ongelmia tiedostojen kopioinnissa, esimerkki 1 (alternate data
stream ADS)
Haluan kopioida tiedoston Windows-koneelta muistitikulle eli osiolta
NTFS -> FAT32. Tämä ei onnistukaan, vaan tulee ilmoitus "The File
has properties that cannot be copied to new location. Are you
sure you want to copy this file without its properties?" tai
sama suomeksi "Haluatko varmasti kopioida tämän tiedoston ilman sen
ominaisuuksia? Tiedostolla xxxx.docx on ominaisuuksia, joita ei voi
kopioida uuteen sijaintiin". Edellämainittu tapahtuu harvemmin, kun
kopioidaan osiolle exFAT, viimeksi tuli minulla vastaan, kun kopioin
OneDrive -> exFAT.
Tässä on kyse siitä, että tiedostosta on tallennettu NTFS-osiolle
lisätietoja ns. erillisenä virtana (alternate data stream), eikä
FAT32 tue sellaista. Windowsin Explorer ei tiedä mitä tekisi näillä
lisätiedoilla ja kysyy käyttäjältä. Minulla näitä on tullut vastaan
erilaisilla tiedostoilla silloin tällöin. Kun vastaan, että antaa
mennä vaan, niin useimmissa tapauksissa Macille olen saanut
muistitikulta täysin virheettömän tiedoston enkä ole huomannut mitä
ehkä puuttuu. Mutta jonkun kerran Word-tiedoston fontit ovat
muuttuneet ja nettilinkit ovat ilman linkkiä.
Kokeilin toista kopiointitapaa Windows -> Mac kahdelle
tiedostolle, jotka olivat hukanneet näkyvää informaatiota.
Kopiointitavat olivat: lähiverkon läpi (Macillä hain
Windows-koneesta), ja OneDrive:n kautta. Molemmat tavat säilyttivät
tiedostot täysin muuttumattomina eikä kysymystä ominaisuuksien
kopioinnista ilmaantunut.
Windows 2000 ja XP käyttivät alternate streamiä tiedostojen
joidenkin ominaisuuksien tallentamiseen, joten tämän ongelman
tavallisimmin kohtaa vain tiedostoilla, joita on käsitelty
kyseisellä NTFS-levyllä käyttäen XP:tä tai W2000:ta. Minun
tapauksessa kaikki tiedostot eivät ole olleet alunperin tällaisia.
Alternate stream ei näy Explorerissa erillisenä tiedostona, vaan
sinne syötetty info on tallennettu NTFS-rakenteen faililuetteloon
(MFT) datafailin tiedon yhteyteen tai jos infoa on paljon, siellä on
viittaus muualle levyn alueelle. Voi myös olla, että jokin sovellus
on tallennuksen yhteydessä kirjoittanut tiedostolle ADS-tiedon,
jossa streamin pituus on 0. Katso teknisemmät selitykset täältä.
Sovelluksella StreamFinder voi koneeltaan etsiä tiedostoja, joilla
on ADS. Sovellus löytyy täältä.
Toisenlainenkin stream-ongelma tuli vastaan: olin vastaanottanut
Macciin sähköpostissa pdf-tiedoston, kopioin sen verkon yli
Windows8.1 -työasemaan ja siellä yritin tallentaa sitä
resurssinhallinnassa ehjälle ja lähes tyhjälle muistitikulle, ja
toisellekin erimerkkiselle tikulle. Tallennus ei onnistunut, vaan
tuli ilmoitus:

Kopiointi onnistuu, jos teen tiedostoa varten kansion työasemalla ja
kopioin muistitikulle kansion, ja silloin tulee ilmoitus että
tiedostolla on ominaisuuksia joita ei voi kopioida. Lisähavaintoja:
- kopiointi XP-työasemalta muistitikulle onnistuu
- kopiointi Macistä muistitikulle onnistuu
- lähiverkon yli koneelta toiselle kopiointi onnistuu
- kopiointi OneDriveen onnistuu
- tiedosto avautuu normaalisti sekä Macissä että Windowsissa
- Adobe Readeristä tiedoston voi tallentaa muistitikulle
- sovellus ADS ilmoittaa, että tiedostolla on pieni ADS-osa tyyppiä
$DATA
- Adobe Reader kertoo, että tiedosto on tehty 26.3.2014
sovelluksessa SECnvtToPDF V1.0 Toshiba e-studio 4555C eli se
on skannattu isolla kopiokoneella
Ongelmia tiedostojen kopioinnissa, esimerkki 2 (tuntematon
virhe)
Läppärin Windows 8:ssa (NTFS) muokkaamani docx-tiedoston (Office
2010) kopioin Explorerilla muistitikulle (FAT32) kahteen eri
kansioon. Kotona kopioin Macin Finderilta toisen näistä
Macciin. Yritin avata tiedoston Macissä kaksoisklikkaamalla
tiedostoa. Tuli ilmoitus, että tiedosto on korruptoitunut, mutta
Macin Word osasi sitten korjata sen ja tiedosto avautui. Tiedostossa
en havainnut että mitään olisi kadonnut. Myöhemmin totesin, että
alkuperäinen läppärin tiedosto avautui läppärissä ilman ongelmia.
Tämän jälkeen kopioin muistitikun toisessa kansiossa olleen
tiedoston Macciin eri paikkaan. Tämä tiedosto avautui ilman mitään
ongelmia.
Tällaisia ongelmia on esiintynyt helmikuun 2014 alun jälkeen melko
usein, aiempia tapauksia en muista. Tammikuun lopulla kokeilin
Vista-koneessa LibreOfficea ja toin sillä tehtyjä docx-tiedostoja
Windows 8:iin. Tämän jälkeen ongelmia on esiintynyt monissa
Word-tiedostoissa, eikä vain LibreOfficella tallentamissani.
LibreOffice on uhka! Ongelmia on esiintynyt, vaikka korjasin Office
2010:n asennuksen varan vuoksi.
Vai voiko ongelman lähteenä olla se, että muistitikulta on jäänyt
siivoamatta Macin tekemät Resource Fork -tiedostot?
Ongelmia tiedostojen kopioinnissa, esimerkki 3 (kansioita
katosi)
Minulle on tullut tavaksi tehdä varsinainen tiedostojen kopiointi
tietokoneiden välillä OneDrive:n kautta, jos lähiverkon kautta ei
saa yhteyttä tai koneet ovat eri osoitteissa. Muistitikku on
varmistava väline ja suuria tiedostomääriä varten. Kerran
kuukaudessa formatoin muistitikun. Mutta tämä ei aina riitä, vaan
kerran kävi niin, että muistitikusta olivat kadonneet kaikki
kansiot sisältöineen. Juuren tiedostot olivat tallella. En
pystynyt selvittämään oliko nyt syyllinen Mac vai Windows.
Ongelmia tiedostojen kopioinnissa, esimerkki 4 (tuntematon
virhe)
Macissä muokkamani docx-tiedoston kopioin Finderilla muistitikulle
(HFS+ -> FAT32), ja edelleen Windows-koneelle Explorerilla (FAT32
-> NTFS). Tiedosto ei avautunut Office 2010:n Wordissa
normaalisti, vaan sille piti tehdä korjaava avaaminen. Kaikki tieto
oli tallessa. Tällaisia ongelmia alkoi esiintyä sen jälkeen kun olin
tuonut Windows-koneeseen muutamia LibreOfficella tehtyjä
docx-tiedostoja (ks. edellä esimerkki 2), mutta ei enää kun korjasin
Office 2010:n asennuksen.
--------------------
(sivua muokattu 11.4.2021)