Visualizzazione post con etichetta file system. Mostra tutti i post
Visualizzazione post con etichetta file system. Mostra tutti i post

lunedì 18 marzo 2019

PowerShell: Montare\Smontare un'immagine ISO

Per immagine ISO si intende una copia bit-per-bit del file system di un disco ottico. Il nome deriva da ISO 9660, il file system standard dei CD-ROM tuttavia un'immagine ISO può contenere anche il file system UDF (ISO/IEC 13346) comunemente utilizzato nei dischi DVD e Blu-Ray.
Windows 10 facilita enormemente la gestione dei file ISO senza l'utilizzo di tool esterni. Per aprire un file ISO basta fare un doppio clic sul file oppure, in alternativa, cliccarci su con il tasto destro del mouse e selezionare Monta dal menu contestuale: Windows creerà un'unità ottica virtuale assegnandole la prima lettera di unità libera e permettendo la navigazione del contenuto dell'immagine ISO tramite Esplora file.
Windows 10, Montare un'immagine ISO
FIG 1 - Windows 10, Montare un'immagine ISO
Per eliminare l'unità virtuale e smontare l'immagine basta cliccare con il tasto destro del mouse sull'unità in Esplora file e selezionare Espelli dal menu contestuale.


In PowerShell è possibile montare\smontare un'immagine ISO utilizzando i cmdlet Mount-DiskImageDismount-DiskImage.
Per montare un'immagine ISO tramite PowerShell
Mount-DiskImage -ImagePath "C:\kali-linux-2019.1a-amd64.iso"
PowerShell, Montare un'immagine ISO
FIG 2 - PowerShell, Montare un'immagine ISO

Per smontare un'immagine ISO da PowerShell
Dismount-DiskImage -ImagePath "C:\kali-linux-2019.1a-amd64.iso"
PowerShell, Smontare un'immagine ISO
FIG 3 - PowerShell, Smontare un'immagine ISO
oppure, utilizzando il device path
Dismount-DiskImage -DevicePath \\.\CDROM1





lunedì 25 febbraio 2019

Kali Linux: Risalire alla data di installazione del sistema operativo

Un trucco per risalire alla data di installazione del sistema operativo Kali Linux consiste nel visualizzare la data di creazione del file system della partizione in cui è stato installato oppure consultare il log di installazione dei pacchetti apt (/var/log/apt/history.log ).


Verificare la data di creazione del file system

  • Da terminale eseguire il comando fdisk -l e individuare la partizione su cui è installato Kali Linux;
    Kali Linux, fdisk -l
    FIG 1 - Kali Linux, fdisk -l
  • In FIG 1 la partizione di nostro interesse è sda1. Utilizziamo il seguente comando da terminale per visualizzare le informazioni relative al file system della partizione individuata.
    tune2fs -l /dev/sda1 | grep 'Filesystem' 

    Nel campo Filesystem created verrà mostrata la data e l'ora di creazione del file system.
    Kali Linux, tune2f
    FIG 2 - Kali Linux, tune2f




Visualizzare il log di installazione dei pacchetti apt

Da terminale eseguire il comando 
head /var/log/apt/history.log 
Il comando visualizzerà le prime 10 righe del log storico history.log
Kali Linux, history.log
FIG 3 - Kali Linux, history.log
Come visibile da FIG 3 la data più 'vecchia' è quella riportata nella stringa Start-Date: 2018-10-26 05:25:04 che con buona probabilità rappresenta la data di installazione del sistema operativo.



I metodi sopra indicati non sono infallibili e i risultati vanno presi con le opportune considerazioni. Il primo metodo che fa uso di tune2fs è generalmente più affidabile ma il risultato potrebbe essere stato compromesso se sono stati utilizzati tool di terze parti per la creazione/modifica della partizione e del relativo file system. Per quanto riguarda il secondo metodo, invece, c'è da considerare che qualcuno potrebbe aver eliminato o sovrascritto per qualche motivo il log.






martedì 21 febbraio 2017

Windows Quick Tip: Creare Symbolic link e junction tramite il comando MKLINK

In tutti i file system moderni è possibile creare un Symbolic Link (Collegamento Simbolico): un collegamento di tipo avanzato a file e cartelle presenti generalmente in altri percorsi.  Anche se concettualmente simili ai collegamenti tradizionali con estensione .lnk, i Symbolic Link si differenziano da questi ultimi in quanto sono un tipo di oggetto del file system (come lo sono file e cartelle) mentre i link tradizionali sono oggetti della shell.

Per chiarire la differenza tra i due tipi di collegamento possiamo fare un'esempio pratico: provando a copiare un link tradizionale con estensione .lnk su una pendrive, verrà copiato il collegamento stesso e non il file puntato. Ciò avviene in quanto, come precedentemente accennato, i collegamenti .lnk sono riconosciuti solo a livello di shell ma non dal file system sottostante. Eseguendo la stessa operazione con un collegamento simbolico verrà, invece, copiato il file puntato e non il suo puntatore.

La possibilità di creare link simbolici è stata introdotta nel file system NTFS a partire da Windows 2000 tuttavia l'utility linkd.exe necessaria per la creazione di questo tipo di collegamenti non veniva fornita insieme al sistema operativo ma era necessario procurarsi il Resource Kit; inoltre era possibile creare link simbolici solo alle cartelle e non ai file.

Da Windows Vista in poi, l'utility a riga di comando per la creazione dei collegamenti simbolici è stata integrata all'interno del sistema operativo e prende il nome di mklink. Anche il sistema operativo fa uso dei collegamenti simbolici come ad es. le cartelle Programmi e Documents and Settings utilizzate nelle recenti versioni di Windows.

Per visualizzare i collegamenti simbolici presenti all'interno di una cartella basta utilizzare il comando
dir /al

Collegamenti simbolici utilizzati da Windows
FIG 1 - Collegamenti simbolici utilizzati da Windows

Come si può notare dalla FIG 1, nella root del disco di sistema sono presenti 2 collegamenti simbolici (di tipo junction): Documents and settings che punta alla cartella c:\Users e Programmi che punta alla cartella C:\Program Files. I collegamenti simbolici possono essere di tipo:
- JUNCTION  nel caso di giunzioni;
- SYMLINK  nel caso di collegamento simbolico a file;
- SYMLINKD  nel caso di collegamento simbolico a directory.

La creazione di link e junction in ambiente Windows non è molto diffusa, probabilmente perché è necessario agire tramite riga di comando e non tramite GUI (a meno che non si utilizzano programmi di terze parti). La creazione di link simbolici avviene tramite il comando mklink eseguito dal prompt dei comandi come amministratore.

La sintassi del comando mklink è molto semplice:

MKLINK [[/D] | [/H] | [/J]] Collegamento Destinazione
 /D      Crea un collegamento simbolico a una directory. L'impostazione predefinita è il collegamento simbolico a un file.
 /H      Crea un collegamento reale anziché un collegamento simbolico.
 /J      Crea una giunzione di directory.
Collegamento    specifica il nome del nuovo collegamento simbolico.
Destinazione    specifica il percorso (relativo o assoluto) a cui fa riferimento il nuovo collegamento.


Come è possibile notare dalla sintassi del comando esistono diversi tipi di link: collegamento simbolico, collegamento reale e junction (giunzione).

I collegamenti simbolici e le giunzioni vengono anche chiamati Soft Link mentre i collegamenti Reali sono chiamati Hard Link.


Soft Link
I Soft Link consentono di linkare file e cartelle presenti sullo stesso volume o su volumi diversi. Le differenze sostanziali tra collegamenti simbolici e giunzioni sono:
  • I collegamenti simbolici possono essere creati anche per i file oltre che per le cartelle mentre le giunzioni sono possibili solo per le cartelle;
  • I collegamenti simbolici utilizzano sia percorsi relativi che assoluti mentre le giunzioni lavorano esclusivamente con i percorsi assoluti.


Hard Link
Gli Hard Link sono associazioni N:1 tra un nome del file e i dati che esso contiene. Questo tipo di collegamenti consente di creare più nomi di file che puntano allo stesso oggetto dati sul disco. Ogni oggetto dati ha al suo interno un contatore di quanti file fanno riferimento ad esso. L'oggetto dati verrà rimosso solo quando tutti i riferimenti verranno eliminati.
Ad es.
Creando un Hard Link al file notepad.exe questo verrà visualizzato come fosse un file eseguibile a se stante. Cancellando il file eseguibile originale, notepad.exe, l'Hard Link continuerà a funzionare.


Alcuni esempi:

Esempio 1
MKLINK "Collegamento Immagine" c:\immagine.jpg
Crea un collegamento chiamato Collegamento Immagine al file c:\immagine.jpg

Esempio 2
MKLINK /D "Collegamento Temp" c:\temp
Crea un collegamento chiamato Collegamento Temp alla cartella c:\temp. Come si evince dal comando, per creare il collegamento ad una cartella è necessario specificare l'argomento /D.

Esempio 3
MKLINK /H "NotePad HL.exe" Notepad.exe
L'argomento /H permette di creare un collegamento reale (Hard Link): un nuovo puntatore al file che ha lo stesso valore del percorso originale. Un Hard Link deve risiedere sullo stesso volume del file originale ed è possibile creare più Hard Link ad uno stesso file. Ogni file è collegato almeno ad un Hard Link che è il percorso originale. L'Hard Link continuerà ad esistere e a funzionare anche se il file originale viene cancellato.

Esempio 4
MKLINK /J d:\Cartella1 c:\temp
Con l'argomento /J è possibile creare una junction (o giunzione), ossia un collegamento ad una cartella che può essere memorizzato anche su un volume diverso.


Creazione collegamenti simbolici e collegamenti reali
FIG 2 - MKLINK, Creazione collegamenti simbolici e collegamenti reali


Visualizzazione collegamenti simbolici
FIG 3 - Visualizzazione collegamenti simbolici





giovedì 26 giugno 2014

Windows Quick Tip: Convertire volume da FAT a NTFS


Nel caso in cui si voglia convertire il file system di una partizione da FAT o FAT32 in NTFS senza perdita di dati, è possibile utilizzare il comando convert da riga di comando. Trattandosi comunque di un'operazione che agisce sul disco è comunque consigliabile effettuare un backup dei dati.

Per effettuare questa operazione bisogna procedere come segue:

  • Accedere al Prompt dei comandi: Start->Esegui (WIN+R) e digitare CMD seguito da invio
  • Dal Prompt dei comandi digitare:
    convert c: /fs:ntfs
    e premere invio. Ovviamente al posto di c: va indicata la partizione che si intende convertire.

Una volta eseguito il comando il sistema chiederà, per questioni di sicurezza, il nome della partizione che si intende convertire. Dopodiché il sistema si riavvia e inizia la conversione al nuovo file system.

NOTE: Una volta effettuata la conversione in NTFS non sarà più possibile tornare al file system precedente (FAT o FAT32) almenoché non si provveda a formattare la partizione con conseguente perdita di dati. 


Convert: convertire filesystem
FIG. 1 Convert: convertire filesystem