{"id":12871,"date":"2019-03-29T00:26:00","date_gmt":"2019-03-29T00:26:00","guid":{"rendered":"http:\/\/www.appservgrid.com\/paw92\/?p=12871"},"modified":"2019-03-29T00:26:00","modified_gmt":"2019-03-29T00:26:00","slug":"linux-file-system-explained-boot-loading-disk-partitioning-bios-uefi-and-file-system-types","status":"publish","type":"post","link":"https:\/\/www.appservgrid.com\/paw92\/index.php\/2019\/03\/29\/linux-file-system-explained-boot-loading-disk-partitioning-bios-uefi-and-file-system-types\/","title":{"rendered":"Linux File System Explained: Boot Loading, Disk Partitioning, BIOS, UEFI and File System Types"},"content":{"rendered":"<p>The concept of boot loading, disk partitioning, partition table, BIOS, UEFI, File system types, etc. is little known to most of us. We comes across these terminology very often but rarely took the pain to know these and their meaning in details. This article in an effort to fulfil this gap in the most easiest way possible.<\/p>\n<div id=\"attachment_7877\" class=\"wp-caption aligncenter\">\n<p><a href=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2014\/07\/Linux-File-System-Types.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7877\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2014\/07\/Linux-File-System-Types.png\" alt=\"Linux File System Types\" width=\"435\" height=\"321\" aria-describedby=\"caption-attachment-7877\" data-lazy-loaded=\"true\" \/><\/a><\/p>\n<p id=\"caption-attachment-7877\" class=\"wp-caption-text\">Linux File System Types<\/p>\n<\/div>\n<h3>Partition Table<\/h3>\n<p>One of the very first decision we comes across while installing a Linux Distribution is the partitioning of its disk, the file-system to use, implement encryption for security which varies with the change in architecture and platform. One of the most widely used Architecture,\u00a0<b>INTEL<\/b>\u00a0is undergoing some changes and it is important to understand these changes which on the other hand requires knowledge of boot process.<\/p>\n<p>Many developers run both\u00a0<b>Windows<\/b>\u00a0and\u00a0<b>Linux<\/b>\u00a0on the same machine which may be a matter of preference or need. Most of the boot-loaders of today are smart enough to recognize any number of Operating System on the same box and provide menu to boot into the preferred one. Another way to achieve the same goal is to use virtualization using\u00a0<b>Xen<\/b>,\u00a0<b>QEMU<\/b>,\u00a0<b>KVM<\/b>\u00a0or any other preferred visualization tool.<\/p>\n<h3>BIOS Vs UEFI<\/h3>\n<p>If I remember correctly, till late\u00a0<b>90<\/b>\u2018s BIOS which stands for\u00a0<b>Basic Input<\/b>\/<b>Output System<\/b>\u00a0was the only way to boot an Intel System. BIOS holds the partitioning Information in an special area called\u00a0<b>Master Boot Record<\/b>\u00a0(<b>MBR<\/b>) such that additional code gets stored in first sector of every boot-able partition.<\/p>\n<p>In Late\u00a0<b>90<\/b>\u2018s Microsoft\u2019s intervention with Intel resulted in Universal Extensible Firmware Interface (<b>UEFI<\/b>) the initial purpose of which was to boot securely. This mechanism of booting proved to be a challenge for rootkits specially which gets attached with boot sectors and were hard to detect with BIOS.<\/p>\n<h3>Boot with BIOS<\/h3>\n<p>Booting with\u00a0<b>BIOS<\/b>\u00a0requires placing of boot codes or boot sequence in\u00a0<b>MBR<\/b>\u00a0which is placed in the first sector of boot disk. In case if more than one Operating System is installed the installed boot loader is replaced by one common boot loader which places boot codes on every bootable disk during installation and updation automatically, which means user has the choice to boot into any of the installed OS.<\/p>\n<p>However it is seen, specially on windows that a non-windows boot loader won\u2019t update the system specially certain programs viz.,\u00a0<b>IE<\/b>\u00a0but again there is not hard and fast rule nor it is documented any where.<\/p>\n<h3>Boot with UEFI<\/h3>\n<p><b>UEFI<\/b>\u00a0is the latest booting technology developed in close collaboration of Microsoft with Intel. UEFI requires the firmware to be loaded is digitally signed, a way to stop rootkits being attached with the boot partition. However the problem in booting Linux using UEFI is complex. Booting Linux in UEFI requires the keys used needs to be make public under GPL which is against the Linux protocol.<\/p>\n<p>However it is still possible to install Linux on UEFI specification by disabling \u2018<b>Secure boot<\/b>\u2018 and enabling \u2018<b>Legacy Boot<\/b>\u2018. Boot codes in UEFI is placed under subdirectories of\u00a0<b>\/EFI<\/b>, special partition in the first sector of disk.<\/p>\n<h3>Types of Linux File Systems<\/h3>\n<p>A standard Linux Distribution provides the choice of partitioning disk with the file formats listed below, each of which has special meaning associated with it.<\/p>\n<ol>\n<li>ext2<\/li>\n<li>ext3<\/li>\n<li>ext4<\/li>\n<li>jfs<\/li>\n<li>ReiserFS<\/li>\n<li>XFS<\/li>\n<li>Btrfs<\/li>\n<\/ol>\n<h4>ext2, ext3, ext4<\/h4>\n<p>These are the progressive version of\u00a0<b>Extended Filesystem<\/b>\u00a0(<b>ext<\/b>), which primarily was developed for\u00a0<b>MINIX<\/b>. The second extended version (<b>ext2<\/b>) was an improved version.\u00a0<b>Ext3<\/b>\u00a0added performance improvement.\u00a0<b>Ext4<\/b>\u00a0was a performance improvement besides additional providing additional features.<\/p>\n<p><strong>Read Also<\/strong>:\u00a0<a href=\"https:\/\/www.tecmint.com\/what-is-ext2-ext3-ext4-and-how-to-create-and-convert-linux-file-systems\/\" target=\"_blank\" rel=\"noopener\">What is Ext2, Ext3 &amp; Ext4 and How to Create and Convert Linux File Systems<\/a><\/p>\n<h4>JFS<\/h4>\n<p>The\u00a0<b>Journaled File System<\/b>\u00a0(<b>JFS<\/b>) was developed by IBM for AIX UNIX which was used as an alternative to system ext. JFS is an alternative to\u00a0<b>ext4<\/b>\u00a0currently and is used where stability is required with the use of very few resources. When CPU power is limited JFS comes handy.<\/p>\n<h4>ReiserFS<\/h4>\n<p>It was introduced as an alternative to\u00a0<b>ext3<\/b>\u00a0with improved performance and advanced features. There was a time when\u00a0<b>SuSE Linux<\/b>\u2018s default file format was\u00a0<b>ReiserFS<\/b>\u00a0but later Reiser went out of business and SuSe had no option other than to return back to\u00a0<b>ext3<\/b>. ReiserFS supports file System Extension dynamically which was relatively an advanced feature but the file system lacked certain area of performance.<\/p>\n<h4>XFS<\/h4>\n<p><b>XFS<\/b>\u00a0was a high speed\u00a0<b>JFS<\/b>\u00a0which aimed at parallel\u00a0<b>I\/O<\/b>\u00a0processing. NASA still usages this file system on their\u00a0<b>300+<\/b>\u00a0terabyte storage server.<\/p>\n<h4>Btrfs<\/h4>\n<p><b>B-Tree File System<\/b>\u00a0(<b>Btrfs<\/b>) focus on fault tolerance, fun administration, repair System, large storage configuration and is still under development. Btrfs is not recommended for Production System.<\/p>\n<h5>Clustered File Format<\/h5>\n<p>Clustered file System is not required for booting but best suited in shared environment form storage point of view.<\/p>\n<h5>Non-Linux File Format<\/h5>\n<p>There are lots of File format not available under Linux but are used by other OS\u2019s. Viz.,\u00a0<b>NTFS<\/b>\u00a0by Microsoft, HFS by Apple\/Mac os, etc. Most of these can be used under Linux by mounting them using certain tools like\u00a0<a href=\"https:\/\/www.tecmint.com\/how-do-i-access-or-mount-windows-ntfs-partition-in-linux\/\" target=\"_blank\" rel=\"noopener\">ntfs-3g to Mount NTFS<\/a>\u00a0file system but not preferred under Linux.<\/p>\n<h3>Unix File Format<\/h3>\n<p>There are certain File formats used widely in Linux but not preferred under Linux specially for installing Linux root System. e.g.,\u00a0<b>UFS<\/b>\u00a0of\u00a0<b>BSD<\/b>.<\/p>\n<p><b>Ext4<\/b>\u00a0is the preferred and most widely used Linux file System. In certain Special case\u00a0<b>XFS<\/b>\u00a0and\u00a0<b>ReiserFS<\/b>\u00a0are used. Btrfs is still used in experimental environment.<\/p>\n<h3>Disk Partitioning<\/h3>\n<p>The first stage is disk Partitioning. While partitioning we should keep the below points in mind.<\/p>\n<ol>\n<li>Partition keeping backup and recovery in mind.<\/li>\n<li>Space limitation mark in partition.<\/li>\n<li>Disk management \u2013 Administrative Function.<\/li>\n<\/ol>\n<h3>Logical Volume Management<\/h3>\n<p><b>LVM<\/b>\u00a0is a complex partitioning used in Large Storage Installation. The LVM structure overlays the actual physical disk partitioning.<\/p>\n<h4>Swap<\/h4>\n<p><b>Swap<\/b>\u00a0is used for memory paging in Linux specially during System Hibernation. The current stage of System is written to Swap when the system is paused (<b>Hibernate<\/b>) at a point of time.<\/p>\n<p>A System which will never go hibernation needs a swap space equal to the size of its\u00a0<b>RAM<\/b>.<\/p>\n<h3>Encryption<\/h3>\n<p>The last stage is encryption which ensures data safely. Encryption can be at the level of Disk as well as Directory. In Disk encryption, the whole disk is encrypted can requires some kind of special codes to decrypt it.<\/p>\n<p>However its an complex issue. The decryption code can not remain on the same disk undergoing encryption hence we need certain special hardware or let the motherboard do it.<\/p>\n<p>The disc encryption is relatively easy to achieve and is less complex. In this case the decryption code remains on the same disk, somewhere in different directory.<\/p>\n<p>Disk encryption is necessary in server building and may be a legal issue based the the geographical location you are implementing it.<\/p>\n<p>Here in this article, we tried throwing lights on\u00a0<b>File System Management<\/b>\u00a0as well as\u00a0<b>disk management<\/b>\u00a0in much more depth fashion. That\u2019s all for now.<\/p>\n<p><strong>Read Also<\/strong>:\u00a0<a href=\"https:\/\/www.tecmint.com\/linux-directory-structure-and-important-files-paths-explained\/\" target=\"_blank\" rel=\"noopener\">Linux Directory Structure and Important Files Paths Explained<\/a><\/p>\n<p><a href=\"https:\/\/www.tecmint.com\/linux-file-system-explained\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The concept of boot loading, disk partitioning, partition table, BIOS, UEFI, File system types, etc. is little known to most of us. We comes across these terminology very often but rarely took the pain to know these and their meaning in details. This article in an effort to fulfil this gap in the most easiest &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.appservgrid.com\/paw92\/index.php\/2019\/03\/29\/linux-file-system-explained-boot-loading-disk-partitioning-bios-uefi-and-file-system-types\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Linux File System Explained: Boot Loading, Disk Partitioning, BIOS, UEFI and File System Types&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-12871","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/12871","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/comments?post=12871"}],"version-history":[{"count":1,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/12871\/revisions"}],"predecessor-version":[{"id":12872,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/12871\/revisions\/12872"}],"wp:attachment":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/media?parent=12871"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/categories?post=12871"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/tags?post=12871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}