File Systems

Filesystem is part of operating system to control and manage storing data on hard disk.


A journaling file system is a file system that maintains a special file called a journal that is used to repair any inconsistencies that occur as the result of an improper shutdown of a computer. Such shutdowns are usually due to an interruption of the power supply or to a software problem that cannot be resolved without a rebooting.


Initramfs: in computing, initrd is a scheme for loading a temporary root file system into memory, which may be used as part of the Linux startup process. The key parts of initramfs are:

  • The special file /dev/initrd is a read-only block device. This device is a RAM disk that is initialized (e.g., loaded) by the boot loader before the kernel is started.
  • CPIO archive, so no filesystems at all are needed in kernel. The archive is simply unpacked into a ram disk.
  • This unpacking happens before do_basic_setup is called. This means that firmware files are available before in-kernel drivers load.
  • The userspace init is called instead of prepare_namespace. All finding of the root device, and md setup happens in userspace.
  • An initramfs can be built into the kernel directly by adding it to the ELF archive under the section name .init.ramfs
  • initramfs' can be stacked. Providing an initramfs to the kernel using the traditional initrd mechanisms causes it to be unpacked along side the initramfs' that are built into the kernel.
  • All magic naming of the root device goes away. Integrating udev into the initramfs means that the exact same view of the /dev tree can be used throughout the boot sequence. This should solve the majority of the SATA failures that are seen where an install can succeed, but the initrd cannot boot.


Swap space: when physical memory (RAM) is out of space then swap area can take care of it. In case of failure at boot:

  • sudo blkid
  • copy the swap UUID
  • sudo nano /etc/initramfs-tools/conf.d/resume
  • sudo mkswap -U custom_uuid /dev/sdx


EXT2,3,4: the extended file system was implemented as the first file system created specifically for the Linux kernel. It has metadata structure inspired by the traditional Unix File System.

  • Type or version 2 is suitable for boot volumes
  • Type or version 2 isn't a journaling file system


LVM2: Logical Volume Manager is a device mapper target that provides logical volume management for the Linux kernel.

  • pvchange - Change attributes of a Physical Volume.
  • pvck - Check Physical Volume metadata.
  • pvcreate - Initialize a disk or partition for use by LVM.
  • pvdisplay - Display attributes of a Physical Volume.
  • pvmove - Move Physical Extents.
  • pvremove - Remove a Physical Volume.
  • pvresize - Resize a disk or partition in use by LVM2.
  • pvs - Report information about Physical Volumes.
  • pvscan - Scan all disks for Physical Volumes.
  • vgcfgbackup - Backup Volume Group descriptor area.
  • vgcfgrestore - Restore Volume Group descriptor area.
  • vgchange - Change attributes of a Volume Group.
  • vgck - Check Volume Group metadata.
  • vgconvert - Convert Volume Group metadata format.
  • vgcreate - Create a Volume Group.
  • vgdisplay - Display attributes of Volume Groups.
  • vgexport - Make volume Groups unknown to the system.
  • vgextend - Add Physical Volumes to a Volume Group.
  • vgimport - Make exported Volume Groups known to the system.
  • vgimportclone - Import and rename duplicated Volume Group (e.g. a hardware snapshot).
  • vgmerge - Merge two Volume Groups.
  • vgmknodes - Recreate Volume Group directory and Logical Volume special files.
  • vgreduce - Reduce a Volume Group by removing one or more Physical Volumes.
  • vgremove - Remove a Volume Group.
  • vgrename - Rename a Volume Group.
  • vgs - Report information about Volume Groups.
  • vgscan - Scan all disks for Volume Groups and rebuild caches.
  • vgsplit - Split a Volume Group into two, moving any logical volumes from one Volume Group to another by moving entire Physical Volumes.
  • lvchange - Change attributes of a Logical Volume.
  • lvconvert - Convert a Logical Volume from linear to mirror or snapshot.
  • lvcreate - Create a Logical Volume in an existing Volume Group.
  • lvdisplay - Display attributes of a Logical Volume.
  • lvextend - Extend the size of a Logical Volume.
  • lvmchange - Change attributes of the Logical Volume Manager.
  • lvmdiskscan - Scan for all devices visible to LVM2.
  • lvmdump - Create lvm2 information dumps for diagnostic purposes.
  • lvreduce - Reduce the size of a Logical Volume.
  • lvremove - Remove a Logical Volume.
  • lvrename - Rename a Logical Volume.
  • lvresize - Resize a Logical Volume.
  • lvs - Report information about Logical Volumes.
  • lvscan - Scan (all disks) for Logical Volumes.


UFS2: the Unix file system is a file system supported by many Unix and Unix-like operating systems. It is a distant descendant of the original filesystem used by Version 7 Unix.

  • Type or version 1 is suitable for boot volumes
  • Type or version 1 isn't a journaling file system


ZFS: a combined file system and logical volume manager designed by Sun Microsystems. ZFS is scalable, and includes extensive protection against data corruption, support for high storage capacities.


Configures ZFS file systems

  • zfs [-?]
  • zfs create [-pu] [-o property=value]... filesystem
  • zfs create [-ps] [-b blocksize] [-o property=value]... -V size volume
  • zfs destroy [-fnpRrv] filesystem|volume
  • zfs destroy [-dnpRrv] filesystem|volume@snap[%snap][,snap[%snap]][,...]
  • zfs destroy filesystem|volume#bookmark
  • zfs snapshot|snap [-r] [-o property=value]...
    • filesystem@snapname|volume@snapname
    • filesystem@snapname|volume@snapname...
  • zfs rollback [-rRf] snapshot
  • zfs clone [-p] [-o property=value]... snapshot filesystem|volume
  • zfs promote clone-filesystem
  • zfs rename [-f] filesystem|volume|snapshot filesystem|volume|snapshot
  • zfs rename [-f] -p filesystem|volume filesystem|volume
  • zfs rename -r snapshot snapshot
  • zfs rename -u [-p] filesystem filesystem
  • zfs list [-r|-d depth] [-Hp] [-o property[,property]...]
    • [-t type[,type]...] [-s property]... [-S property]...
    • filesystem|volume|snapshot |bookmark...
  • zfs remap filesystem|volume
  • zfs set property=value [property=value]... filesystem|volume|snapshot...
  • zfs get [-r|-d depth] [-Hp] [-o all | field[,field]...]
    • [-t type[, type]...] [-s source[,source]...] all |
    • property[,property]... filesystem|volume|snapshot...
  • zfs inherit [-rS] property filesystem|volume|snapshot...
  • zfs upgrade [-v]
  • zfs upgrade [-r] [-V version] -a | filesystem
  • zfs userspace [-Hinp] [-o field[,field]...] [-s field]... [-S field]...
    • [-t type[,type]...] filesystem|snapshot
  • zfs groupspace [-Hinp] [-o field[,field]...] [-s field]... [-S field]...
    • [-t type[,type]...] filesystem|snapshot
  • zfs mount
  • zfs mount [-vO] [-o property[,property]...] -a | filesystem
  • zfs unmount|umount [-f] -a | filesystem|mountpoint
  • zfs share -a | filesystem
  • zfs unshare -a | filesystem|mountpoint
  • zfs bookmark snapshot bookmark
  • zfs send [-DLPRVcenpv] [-i snapshot | -I snapshot] snapshot
  • zfs send [-LPcenv] [-i snapshot|bookmark] filesystem|volume|snapshot
  • zfs send [-PVenv] -t receive_resume_token
  • zfs receive|recv [-vnsFu] [-o origin=snapshot] filesystem|volume|snapshot
  • zfs receive|recv [-vnsFu] [-d | -e] [-o origin=snapshot] filesystem
  • zfs receive|recv -A filesystem|volume
  • zfs allow filesystem|volume
  • zfs allow [-ldug] user|group[,user|group]...
    • perm|@setname[,perm|@setname]... filesystem|volume
  • zfs allow [-ld] -e|everyone perm|@setname[,perm|@setname]...
    • filesystem|volume
  • zfs allow -c perm|@setname[,perm|@setname]... filesystem|volume
  • zfs allow -s @setname perm|@setname[,perm|@setname]... filesystem|volume
  • zfs unallow [-rldug] user|group[,user|group]...
    • [perm|@setname[,perm|@setname]...] filesystem|volume
  • zfs unallow [-rld] -e|everyone [perm|@setname[,perm|@setname]...]
    • filesystem|volume
  • zfs unallow [-r] -c [perm|@setname[,perm|@setname]...] filesystem|volume
  • zfs unallow [-r] -s @setname [perm|@setname[,perm|@setname]...]
    • filesystem|volume
  • zfs hold [-r] tag snapshot...
  • zfs holds [-Hp] [-r|-d depth] filesystem|volume|snapshot...
  • zfs release [-r] tag snapshot...
  • zfs diff [-FHt] snapshot [snapshot|filesystem]
  • zfs program [-jn] [-t timeout] [-m memory_limit] pool script [arg1 ...]
  • zfs jail jailid|jailname filesystem
  • zfs unjail jailid|jailname filesystem


Configures ZFS storage pools

  • zpool [-?]
  • zpool add [-fn] pool vdev ...
  • zpool attach [-f] pool device new_device
  • zpool checkpoint [-d, --discard] pool
  • zpool clear [-F [-n]] pool [device]
  • zpool create [-fnd] [-o property=value] ...
    • [-O file-system-property=value] ... [-m mountpoint] [-R root]
    • [-t tempname] pool vdev ...
  • zpool destroy [-f] pool
  • zpool detach pool device
  • zpool export [-f] pool ...
  • zpool get [-Hp] [-o field[,...]] all | property[,...] pool ...
  • zpool history [-il] [pool] ...
  • zpool import [-d dir | -c cachefile] [-D]
  • zpool import [-o mntopts] [-o property=value] ...
    • [--rewind-to-checkpoint] [-d dir | -c cachefile] [-D] [-f] [-m]
    • [-N] [-R root] [-F [-n]] -a
  • zpool import [-o mntopts] [-o property=value] ...
    • [--rewind-to-checkpoint] [-d dir | -c cachefile] [-D] [-f] [-m]
    • [-N] [-R root] [-t] [-F [-n]] pool | id [newpool]
  • zpool initialize [-cs] pool [device...]
  • zpool iostat [-T d|u] [-v] [pool] ...
  • zpool labelclear [-f] device
  • zpool list [-Hpv] [-o property[,...]] [-T d|u] [pool] ...
    • [inverval [count]]
  • zpool offline [-t] pool device ...
  • zpool online [-e] pool device ...
  • zpool reguid pool
  • zpool remove [-np] pool device ...
  • zpool remove -s pool
  • zpool reopen pool
  • zpool replace [-f] pool device [new_device]
  • zpool scrub [-s | -p] pool ...
  • zpool set property=value pool
  • zpool split [-n] [-R altroot] [-o mntopts] [-o property=value] pool
    • newpool [device ...]
  • zpool status [-Dvx] [-T d|u] [pool] ... [interval [count]]
  • zpool upgrade [-v]
  • zpool upgrade [-V version] -a | pool ...


fstab: The file fstab contains descriptive information about the various file systems. fstab is only read by programs, and not written; it is the duty of the system administrator to properly create and maintain this file.


<file systems> - defines the storage device (i.e. /dev/sda1).


<dir> - tells the mount command where it should mount the <file system> to.


<type> - defines the file system type of the device or partition to be mounted. Many different file systems are supported. Some examples are: ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap, and auto. The 'auto' type lets the mount command to attempt to guess what type of file system is used, this is useful for removable devices such as CDs and DVDs.


<options> - define particular options for filesystems. Some options relate only to the filesystem itself. Some of the more common options are:

  • auto - file system will mount automatically at boot, or when the command 'mount -a' is issued.
  • noauto - the filesystem is mounted only when you tell it to.
  • exec - allow the execution binaries that are on that partition (default).
  • noexec - do not allow binaries to be executed on the filesystem.
  • ro - mount the filesystem read only.
  • rw - mount the filesystem read-write.
  • sync - I/O should be done synchronously.
  • async - I/O should be done asynchronously.
  • flush - specific option for FAT to flush data more often, thus making copy dialogs or progress bars to stays up until things are on the disk.
  • user - permit any user to mount the filesystem (implies noexec,nosuid,nodev unless overridden).
  • nouser - only allow root to mount the filesystem (default).
  • defaults - default mount settings (equivalent to rw,suid,dev,exec,auto,nouser,async).
  • suid - allow the operation of suid, and sgid bits. They are mostly used to allow users on a computer system to execute binary executables with temporarily elevated privileges in order to perform a specific task.
  • nosuid - block the operation of suid, and sgid bits.
  • noatime - do not update inode access times on the filesystem. Can help performance.
  • nodiratime - do not update directory inode access times on the filesystem. Can help performance. You do not need to enable this flag if you have already enabled noatime.
  • relatime - update inode access times relative to modify or change time. Access time is only updated if the previous access time was earlier than the current modify or change time (similar to noatime, but doesn't break mutt or other applications that need to know if a file has been read since the last time it was modified). Can help performance.
  • <dump> - is used by the dump utility to decide when to make a backup. When installed, dump checks the entry and uses the number to decide if a file system should be backed up. Possible entries are 0 and 1. If 0, dump will ignore the file system, if 1, dump will make a backup. Most users will not have dump installed, so they should put 0 for the <dump> entry.
  • <pass> fsck reads the <pass> number and determines in which order the file systems should be checked. Possible entries are 0, 1, and 2. The root file system should have the highest priority, 1, all other file systems you want to have checked should get a 2. File systems with a <pass> value 0 will not be checked by the fsck utility.


crypttab: The /etc/crypttab file describes encrypted block devices that are set up during system boot.



Encryption algorithm (ignored for LUKS and TCRYPT devices). See cryptsetup -c.



Encryption key size (ignored for LUKS and TCRYPT devices). See cryptsetup -s.



Sector size. See cryptsetup for possible values and the default value of this option.



Hash algorithm (ignored for LUKS and TCRYPT devices). See cryptsetup -h.



Start offset (ignored for LUKS and TCRYPT devices). Uses cryptsetup -o.



Skip sectors at the beginning (ignored for LUKS and TCRYPT devices). Uses cryptsetup -p.



Specifies the number of bytes to skip at the start of the key file.



Specifies the maximum number of bytes to read from the key file. The default is to read the whole file up to the compiled-in maximum, that can be queried with cryptsetup --help. This option is ignored for plain dm-crypt devices, as the key file size is then given by the encryption key size (option size).


keyslot=<slot>, key-slot=<slot>

Key slot (ignored for non-LUKS devices). See cryptsetup -S.



Detached header file (ignored for plain dm-crypt devices). See cryptsetup --header.



Verify password. Uses cryptsetup -y.


readonly, read-only

Set up a read-only mapping.



Try to unlock the device <num> before failing. It's particularly useful when using a passphrase or a keyscript that asks for interactive input. If you want to disable retries, pass “tries=1”. Default is “3”. Setting “tries=0” means infinitive retries.



Allow using of discards (TRIM) requests for device.


Starting with Debian 10 (Buster), this option is added per default to new dm-crypt devices by the Debian Installer. If you don't care about leaking access patterns (filesystem type, used space) and don't have hidden truecrypt volumes inside this volume, then it should be safe to enable this option. See the following warning for further information.


WARNING: Assess the specific security risks carefully before enabling this option. For example, allowing discards on encrypted devices may lead to the leak of information about the ciphertext device (filesystem type, used space etc.) if the discarded blocks can be located easily on the device later.



Force LUKS mode. When this mode is used, the following options are ignored since they are provided by the LUKS header on the device: cipher=, hash=, size=



Force plain encryption mode.



Use TrueCrypt encryption mode. When this mode is used, the following options are ignored since they are provided by the TrueCrypt header on the device or do not apply: cipher=, hash=, keyfile-offset=, keyfile-size=, size=


veracrypt, tcrypt-veracrypt

Use VeraCrypt extension to TrueCrypt device. Only useful in conjunction with tcrypt option (ignored for non-TrueCrypt devices).


tcrypthidden, tcrypt-hidden

Use hidden TCRYPT header (ignored for non-TCRYPT devices).



Run mkswap on the created device.

This option is ignored for initramfs devices.



Run mkfs with filesystem type <tmpfs> on the created device. Default is ext4.

This option is ignored for initramfs devices.



Check the content of the target device by a suitable program; if the check fails, the device is removed. If a program is provided as an argument, it is run, giving the decrypted volume (target device) as first argument, and the value of the checkargs option as second argument. Cryptdisks/cryptroot searches for the given program in /lib/cryptsetup/checks/ first, but full path to program is supported as well.


Default is set in /etc/default/cryptdisks (blkid).


This option is specific to the Debian crypttab format. It's not supported by systemd.



Give <arguments> as the second argument to the check script. See the CHECKSCRIPTS section for more information.


This option is specific to the Debian crypttab format. It's not supported by systemd.



The initramfs hook processes the root device, any resume devices and any devices with the initramfs option set. These devices are processed within the initramfs stage of boot. As an example, that allows the use of remote unlocking using dropbear.


This option is specific to the Debian crypttab format. It's not supported by systemd.



The cryptsetup init scripts are invoked twice during the boot process - once before lvm, raid, etc. are started and once again after that. Sometimes you need to start your encrypted disks in a special order. With this option the device is ignored during the first invocation of the cryptsetup init scripts.


This option is ignored for initramfs devices and specific to the Debian crypttab format. It's not supported by systemd.



Entirely ignore the device at the boot process. It's still possible to map the device manually using cryptdisks_start.


This option is ignored for initramfs devices and specific to the Debian crypttab format. It's not supported by systemd.



Be loud. Print warnings if a device does not exist. This option overwrites the option loud.


This option is ignored for initramfs devices and specific to the Debian crypttab format. It's not supported by systemd.



Be quiet. Don't print warnings if a device does not exist. This option overwrites the option loud.


This option is ignored for initramfs devices and specific to the Debian crypttab format. It's not supported by systemd.



The executable at the indicated path is executed with the value of the third field as only argument. The keyscript output is passed to cryptsetup as decyption key. When used in initramfs, the executable either needs to be self-contained (i.e. does'nt rely on any external program which is not present in the initramfs environment) or the dependencies have to added to the initramfs image by other means.


LIMITATIONS: All binaries and files on which the keyscript depends must be available at the time of execution. Special care needs to be taken for encrypted filesystems like /usr or /var. As an example, unlocking encrypted /usr must not depend on binaries from /usr/(s)bin.


This option is specific to the Debian crypttab format. It's not supported by systemd.


WARNING: With systemd as init system, this option might be ignored. At the time this is written (December 2016), the systemd cryptsetup helper doesn't support the keyscript option to /etc/crypttab. For the time being, the only option to use keyscripts along with systemd is to force processing of the corresponding crypto devices in the initramfs. See the 'initramfs' option for further information.


All fields of the appropriate crypttab entry are available to the keyscript as exported environment variables:



The target name



The source device



The key file



A list of exported crypttab options



The value of the appropriate crypttab option, with value set to 'yes' in case the option is merely a flag. For option aliases, such as 'readonly' and 'read-only', the variable name refers to the first alternative listed (thus 'CRYPTTAB_OPTION_readonly' in that case). If the crypttab option name contains '-' characters, then they are replaced with '_' in the exported variable name. For instance, the value of the 'CRYPTTAB_OPTION_keyfile_offset' environment variable is set to the value of the 'keyfile-offset' crypttab option.



Number of previous tries since start of cryptdisks (counts until maximum number of tries is reached).


KDE Partition Manager

KDE Partition Manager is a utility program to help you manage the disk devices, partitions and file systems on your computer. It allows you to easily create, copy, move, delete, resize without losing data, backup and restore partitions.



  • Supports a large number of file systems, including ext2/3/4, btrfs, reiserfs, NTFS, FAT16/32, JFS, XFS and more
  • Makes use of already available external programs to get its job done




GParted Partition Manager

GParted is a free partition editor for graphically managing your disk partitions.


With GParted you can resize, copy, and move partitions without data loss, enabling you to:

  • Grow or shrink your drives
  • Create space for new operating systems
  • Attempt data rescue from lost partitions


GParted uses libparted to detect and manipulate devices and partition tables while several (optional) filesystem tools provide support for filesystems not included in libparted.




pars online, advance auto pars, toyota pars, integration by pars, honda pars, par's, pars international, pars kosher market, pars compacta, pars defect treatment, pars market, pars intermedia, pars cuisine, pars defect, pars interarticularis, pars interarticularis, pars fracture, pars tv live, livingston pars tracker, pars plana vitrectomy, pars distalis, pars planitis, l5 pars defect, pars defect of lumbar spine, bilateral pars defect, pars interarticularis defect, pars articularis, pars auto sales, pars equality center, du-pars, puff pars, pars cuisine, pars nervosa, pars rice cooker, pars flaccida, ups pars tracker, pars tensa, pars interarticularis fracture, pars intermedia, farrow pars tracker, pars check, bilateral l5 pars defects, pars cove, substantia nigra pars compacta, pars planar, pars planis, pars newz, pars 1, pars cars reviews, pars tuberalis, pars intermedia cyst, pars pro toto, more pars golf, accme pars, pcb pars check, pars opercularis, what is a pars defect, pars turf, du pars, pars consulting, pars defect surgery, cobra pars and stripes driver, pars plastic surgery, pars cars southlake, treatment for pars defect, pars flaccida stomach, pars defect exercises, pars defect icd 10, pars restaurant, russell a farrow pars tracker, pars game week, pars defects, pars intermediate cyst, pars orbitalis, pars fortuna, hoteles en pars, pars defect l5 s1, pars defect spine, living with pars defect, pars khazar rice cooker, pars defect with spondylolisthesis, bahar pars, pars defect treatment in adults, bilateral pars defects at l5 s1, unclaimedproperty pars org, pars injection, pars interarticularis fractures, pars intl, pars tv archive, pars number, enterprise rent a car, enterprise near me, enterprise car rental, enterprise car sales, enterprise truck rental, army enterprise email, enterprise rental, enterprise car rental near me, star trek enterprise, enterprise rental car, enterprise email, brockton enterprise, press enterprise, enterprise cars for sale, uss enterprise, enterprise bank and trust, enterprise customer service, enterprise bank, enterprise cars rent, enterprise airport, adirondack daily enterprise, enterprise definition, enterprise definition, enterprise promo code, enterprise car, uiuc enterprise, business enterprise center, beaumont enterprise, enterprise rentals, carrier enterprise, sentinel and enterprise, cody enterprise, enterprise cars for rent, news enterprise, enterprise value, enterprise hours, enterprise holdings, starship enterprise, davis enterprise, enterprise alabama, star trek enterprise cast, enterprise rental truck, enterprise products, park rapids enterprise, enterprise sales, american enterprise institute, enterprise customer service number, enterprise rent a van, enterprise used cars, enterprise locations, enterprise las vegas, enterprise rental near me, enterprise meaning, enterprise resource planning, enterprise high school, enterprise journal, enterprise center, enterprise rent, enterprise rent, enterprise discount code, enterprise phone number, the news enterprise, enterprise rental car near me, enterprise airport car rental, enterprise careers, enterprise lax, enterprise denver airport, hewlett packard enterprise, enterprise coupon code, enterprise coupons, enterprise rent a car near me, lowes enterprise al, enterprise al weather, walmart enterprise al, enterprise orlando, enterprise auto sales, enterprise architect, enterprise rent a car locations, the enterprise, verizon enterprise, enterprise fleet management, free enterprise system, enterprise email army, brockton enterprise obituaries, enterprise rent a truck, press enterprise bloomsburg pa, enterprise miami, enterprise plus, black enterprise, enterprise van rental, restaurants enterprise al, enterprise fort lauderdale, uss enterprise star trek, dod enterprise email, enterprise value formula, carelogic enterprise, on cloud shoes, adobe creative cloud, kindle cloud reader, cloud 9, google cloud, shadow in the cloud, cloud couch, on cloud, samsung cloud, craigslist st cloud, minecraft server hosting, apex hosting, who is hosting jeopardy this week, best wordpress hosting convesio, free minecraft server hosting, managed wordpress hosting convesio, best hosting for wordpress convesio, apex server hosting, who is hosting snl tonight, image hosting, discord server, dns server, dns server not responding, server jobs near me, wow server status, sql server, how to make a minecraft server, sql server management studio, 500 internal server error, best minecraft server, vps airport, vps router, vps hosting, vps server, free vps, cheap vps, what is a vps, vps meaning, vps arrivals, best vps hosting, google cloud vps, amazon vps, home server, eminent domain, google domain, domain name search, domain of a function, domain definition, the domain, domain and range calculator, domain lookup, what is a domain, seo reseller, reseller certificate, amazon reseller, reseller license, dedicated server hosting