I file `: Zone.Identifier` continuano ad apparire nella macchina virtuale Windows XP


1

Ho un guest Windows XP Home Edition e un host Linux Mint 13. Uso VirtualBox e la ~/Publicdirectory è condivisa con l'ospite. A volte succede che utilizzo IE sul sistema guest per scaricare file (fino a quando non ottengo un browser Windows migliore).

Tutti i file scaricati vanno L:\nell'unità (la ~/Publicdirectory). Al termine del download, Esplora risorse aggiunge un :Zone.Identifierfile per ogni file scaricato. Quando estraggo un archivio ZIP scaricato sul guest (sull'unità L:\), Windows crea un :Zone.Identifierfile per ogni file nella directory estratta. Ciò si verifica anche se utilizzo l'host per spostare un file nella ~/Publicdirectory.

La ~/Publicdirectory condivisa si trova su una partizione ext4 e si suppone che il carattere due punti sia illegale nei nomi dei file in Windows, ma non nella partizione ext4. C'è un modo per impedire a Windows di mettere tutta questa spazzatura sul mio filesystem? (Potrei dover creare uno script di shell per ripulire dopo l'atto di Windows.)

Ecco cosa vedo in Windows Explorer: Spazzatura nella mia directory pubblica su Windows

A proposito, se avessi un host Mac OS X (dove i due punti sono caratteri di nomi di file illegali) sarebbe ancora più orrendo.

Risposte:


4

Scommetto che sono usati per tracciare la provenienza del file (per far apparire Windows nella finestra di dialogo "sei sicuro di voler aprire questo" quando provi ad aprire un file .zip o .exe scaricato).

La mia memoria non è al 100% su questo, ma se ricordo bene :è vietato nei nomi di file di Windows perché è usato per flussi alternativi su un file. Hai il flusso di dati principale che contiene il contenuto effettivo, ma ogni file può avere flussi alternativi denominati che contengono metadati:C:\File\Path\Filename.exe:AlternateStreamName

Se il filesystem sottostante è EXT4, allora sospetto che IE / WE stia provando a scrivere su tale file e si aspetta che sia un flusso alternativo, mentre il driver del filesystem per l' L:\unità lo sta semplicemente creando come un normale file.

(A proposito, :non è vietato su NTFS, solo l'API Win32 utilizzata da Windows Explorer e dalla maggior parte delle applicazioni (perché la riutilizzano per flussi alternativi). NTFS supporta qualsiasi carattere in un nome file tranne NUL( \0000) o slash ( /) e HFS Plus (Mac OS X) supporta qualsiasi carattere tranne NUL(ma questo potrebbe essere ulteriormente limitato dagli strumenti o dal sistema operativo in base alle sue esigenze))


Ansgar Wiechers ha fornito la risposta nei commenti seguenti:

La creazione di ZoneIdentifierflussi può essere disabilitata impostando il criterio Do not preserve zone information in file attachmentssu enabled. La politica si trova sotto User Configuration\Administrative Templates\Windows Components\Attachment Manager.

Per le versioni di Windows paralizzate, la creazione di un DWORDvalore di registro SaveZoneInformationcon valore 1in [HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments]dovrebbe avere lo stesso effetto.


Stavo per iniziare a utilizzare Avant Browser su Windows comunque. A proposito, i flussi alternativi (forcelle) vengono creati anche quando copio un file ~/Publicsu Linux. Ciò significa che non è solo colpa di Internet Explorer per aver inserito tutta questa charabia nel mio filesystem. So già che i caratteri proibiti si trovano nell'API Win32. Devo ancora sapere come disabilitare questa cosiddetta funzione di "sicurezza".
Jonathan Reno,

A proposito, ho pensato che il :personaggio potesse essere usato solo con una lettera di unità su Windows. Sembra che la funzione 'biforcazione dei due punti' sia solo un altro kludge di Microsoft.
Jonathan Reno,

Windows Explorer potrebbe creare identificatori di zona predefiniti quando rileva un nuovo file senza uno, in modo simile al modo in cui esegue le miniature. In tal caso, la soluzione migliore è utilizzare un'alternativa, come xplorer2 se non c'è un posto dove disattivarla (WE non ha un'opzione, ma prova a guardare attraverso le impostazioni di IE. IE e WE sono in realtà una delle stesso in fondo)
Darth Android

Lo so già. Questo è uno dei motivi per cui non mi piace usare Windows. Perché un browser trash deve essere integrato in Windows in modo da non poterlo rimuovere senza danneggiare seriamente i file di sistema?
Jonathan Reno,

1
La creazione di ZoneIdentifierflussi può essere disabilitata impostando il criterio Do not preserve zone information in file attachmentssu enabled. La politica si trova sotto User Configuration\Administrative Templates\Windows Components\Attachment Manager. Per le versioni di Windows paralizzate, la creazione di un valore di registro DWORD SaveZoneInformationcon valore 1in [HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments]dovrebbe avere lo stesso effetto.
Ansgar Wiechers,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.