How to make linux partition bootable

Arch Linux

You are not logged in.

#1 2013-11-30 02:04:13

Making a partition bootable in the beginners guide

I followed all of the steps in the beginner’s installation guide, but when I tried to boot, grub wouldn’t even show up. I realized after running fdisk -l that I hadn’t made anything bootable. I made the /boot partition bootable using the ‘a’ option in fdisk, and my problem was solved. Is this something that should be added to the wiki?

Last edited by gsingh93 (2013-11-30 02:04:44)

#2 2013-11-30 02:12:49

Re: Making a partition bootable in the beginners guide

No: from memory, each of the partitioning tool pages (eg., fdisk, gdisk) contain that sort of detailed information; its not something that should be replicated in the Beginners’ Guide.

Registered Linux User #482438

#3 2013-11-30 02:18:17

Re: Making a partition bootable in the beginners guide

Are you referring to an Arch Wiki page or an external page? If it’s an Arch Wiki page, can you point me to it?

#4 2013-11-30 02:52:29

Re: Making a partition bootable in the beginners guide

it is true it would be an a to make the partition bootable(which is not mentioned) and also in the diagram at the end of the fdisk section there is no star(multiply symbol). though I say follow nothing blindly and understand what it is you are doing if you do not know what is going on research. understanding is the key to knowledge.

*hint* notice when installing the bootloader with syslinux at least the -a switch.

Last edited by bleach (2013-12-02 04:47:51)

#5 2013-11-30 02:55:11

Re: Making a partition bootable in the beginners guide

understanding is the key to knowledge.

Having things in the wiki is fairly useful for understanding. Someone who’s using fdisk for the first time isn’t going to suddenly realize he didn’t make a partition bootable and start googling how to do it.

#6 2013-11-30 03:01:04

Re: Making a partition bootable in the beginners guide

Are you referring to an Arch Wiki page or an external page? If it’s an Arch Wiki page, can you point me to it?

Why would I be referring to some external page in a thread about the wiki?

Registered Linux User #482438

#7 2013-11-30 03:04:09

Re: Making a partition bootable in the beginners guide

Are you referring to an Arch Wiki page or an external page? If it’s an Arch Wiki page, can you point me to it?

Why would I be referring to some external page in a thread about the wiki?

Because I saw that page and didn’t see anything referring to making a partition bootable with fdisk.

#8 2013-11-30 03:46:36

Re: Making a partition bootable in the beginners guide

Somebody who uses MBR should probably add that information to the wiki. The page explains how to do the equivalent for GPT using gdisk so it makes sense to include something about doing it for MBR with fdisk. Maybe a note box similar to the one for GPT/gdisk?

EDIT: Note that whether this is needed or not depends on your configuration and which thing is needed also varies according to partition map, boot method and boot loader/manager (at least).

Last edited by cfr (2013-11-30 03:59:06)

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Corporation Wireless 8265 / 8275 | US keyboard with Euro | 512G NVMe INTEL SSDPEKKF512G7L

Источник

Ubuntu Documentation

This tutorial covers how to move the boot partition for an Ubuntu 10.04 install after installing the system without a separate boot partition.

» height=»16″ src=»/moin_static198/light/img/icon_cool.png» title=»Info » width=»16″/> Commands executed improperly can lead to an unbootable condition. If this happens, the user can use the Ubuntu installation CD to repair the installation to a working condition.

» height=»16″ src=»/moin_static198/light/img/icon_cool.png» title=»Info » width=»16″/> All device names (like /dev/sda1 and hd0,1) used in the tutorial must be adjusted to match the partitions on the user’s specific system. Do not copy commands in this tutorial without adjusting the drive/partition designations when appropriate!

Why may you want to do this?

Grub 2 error: no such partition.

  • BIOS limitations prevent the system from seeing the /boot partition files before an Operating System is loaded.
  • The user is using an OS filesystem format not compatible with the boot loader and must create a compatible ext2/3/4 partition for booting purposes.
  • What other options are there?

    • If an older BIOS doesn’t recognise the full hard drive size, enable the ‘large file’ option (such as enabling LBA) in the BIOS settings; obtain a BIOS update from the manufacturer; or move the entire Ubuntu installation to the first part of the hard drive.

    Needed for this tutorial are

      An Ubuntu live CD

    Basic knowledge of partitioning using GParted

  • Some understanding of how to use the terminal and command line
  • Preparations

    Booting the Ubuntu Live CD

    Boot from the Ubuntu Live CD as you would normally, select your language and choose the ‘Try Ubuntu’ option

    Creating a partition for /boot

    Once your system has booted from the live CD open GParted via the ‘System -> Administration -> Gparted Partition Editor’ menu.

    Unmount the swap partition: Highlight it, then Partition -> Swapoff

    Create a partition of at least 200 MB of free space. This partition can be created from existing unallocated space, or by shrinking another partition and using the newly-created free space.

    • On older systems or very large drives, ensure the boot partition is within the area recognised by the BIOS. Check the BIOS settings for the reported disk size. It may be necessary to place the new boot partition before the Linux/Ubuntu partition in order for the BIOS to see it.
    Читайте также:  Удалить все разделы с диска линукс

    For guidance on creating partitions read this: HowtoPartition

    For this guide, actions will be taken on a main Ubuntu installation partition and a new boot partition. These partitions will be designated as:

    • /dev/sda2 — 200 MB (minimum) new boot partition
    • /dev/sda1 — 10 GB linux installation partition

    » height=»16″ src=»/moin_static198/light/img/icon_cool.png» title=»Info » width=»16″/> Remember to change the designations to match those on your system. The current partitioning setup can be viewed with the sudo fdisk -l (lowercase L) command.

    If the boot flag is currently on your Ubuntu partition, move it to the new boot partition. This can be done with Gparted or the Disk Utility application.

    Q: Is this really necessary? GRUB and LILO are supposed to ignore the bootable flag

    A: In rare cases, the motherboard BIOS requires a partition with a bootable flag in order to boot from the hard drive. In these cases, GRUB or LILO are not given control even if installed in the MBR.

    The partition order can be changed so that /dev/sda1 comes before /dev/sda2 when using the fdisk command using the advanced options.

    » height=»16″ src=»/moin_static198/light/img/icon_cool.png» title=»Info » width=»16″/> Changing these designations may affect system files which still identify partitions by device name rather than UUID.

    Moving files from existing /boot to new location

    Open a terminal via Applications -> Accessories -> Terminal To run commands as ‘root’ for the commands in this guide without using ‘sudo’: sudo su

    Mount drives

    Make the mount points. In this guide, we will mount the main Ubuntu partition on /mnt/main, and the new boot partition on /mnt/boot

    Mount the two partitions:

    Copy /boot files

    Remount the boot partition

    Unmount the boot partition from /mnt and remount to /boot:

    Editing the files from your Ubuntu install

    Add /boot to your /etc/fstab

    If you want to find out the UUID and confirm the format of the /boot partition type:

    The output should look similar to:

    Open /etc/fstab for editing:

    » height=»16″ src=»/moin_static198/light/img/icon_cool.png» title=»Info » width=»16″/> Note the format in fstab should match the format reported by the blkid command (ext2, ext3, ext4, etc). Add this line.

    or to use the preferred UUID designation:

    Setting up GRUB 2

    Using the same mounting procedures as previously executed, from the LiveCD:

    Continue at the Reboot section.

    Setting up GRUB Legacy

    Edit /boot/grub/menu.lst

    in the console write

    gedit opens with the menu.lst file,

    and change the line

    Next, update the boot entries at the end of the file. Since you now have a /boot partition, all kernel and initrd paths are relative to /boot/ instead, eg.

    Update root to match that of groot above and remove /boot from the kernel and initrd paths in all the entries.

    Reinstall grub

    remember in the setup command do not use hd0,1 as you need to install grub in the master boot record not in this specific partition boot record.

    Reboot

    Reboot your system by typing: reboot You will be asked to remove the CD and press «ENTER» before the system will reboot.

    Final Cleanup

    You are now booted using your new /boot partition but in the old /boot folder and files still exist on the / (root) filesystem.

    To clean this up, open up a terminal and type the following commands to unmount the /boot partition, make a backup copy and then delete the old /boot folder*, recreate the /boot folder, and remount the new boot partition:

    » height=»16″ src=»/moin_static198/light/img/icon_cool.png» title=»Info » width=»16″/> The ‘rm -rf’ command, if executed improperly, can delete your entire installation. Ensure you have unmounted the new /boot partition with the ‘umount’ command and confirm you have typed or copied the «rm» command exactly before executing it! A backup copy of the old boot folder will be placed in /root/Desktop

    Maintenance

    If using Grub legacy (not Grub 2), when you install a new linux kernel you may need to reinstall grub after mounting your boot partition over /boot in the live-CD root as shown above.

    CreateBootPartitionAfterInstall (последним исправлял пользователь yannubuntu 2012-09-03 14:19:01)

    The material on this wiki is available under a free license, see Copyright / License for details
    You can contribute to this wiki, see Wiki Guide for details

    Источник

    Partitioning

    Disk partitioning or disk slicing is the creation of one or more regions on secondary storage, so that each region can be managed separately.

    An entire disk may be allocated to a single partition, or multiple ones for cases such as dual-booting, maintaining a swap partition, or to logically separate data such as audio and video files. The partitioning scheme is stored in a partition table such as Master Boot Record (MBR) or GUID Partition Table (GPT).

    Partition tables are created and modified using one of many partitioning tools. The tools available for Arch Linux are listed in the #Partitioning tools section.

    Partitions usually contain a file system directly which is accomplished by creating a file system on (a.k.a. formatting) the partition. Alternatively, partitions can contain LVM, block device encryption or RAID, which ultimately provide device files on which a file system can be placed (or the devices can be stacked further).

    Any block device (e.g. disk, partition, LUKS device, LVM logical volume or RAID array) that directly contains a mountable file system is called a volume.

    Contents

    Partition table

    There are two main types of partition table available. These are described below in the #Master Boot Record (MBR) and #GUID Partition Table (GPT) sections along with a discussion on how to choose between the two. A third, less common alternative is using a partitionless disk, which is also discussed.

    Use a partitioning tool to view the partition table of a block device.

    Master Boot Record

    The Master Boot Record (MBR) is the first 512 bytes of a storage device. It contains an operating system bootloader and the storage device’s partition table. It plays an important role in the boot process under BIOS systems. See Wikipedia:Master boot record#Disk partitioning for the MBR structure.

    Master Boot Record (bootstrap code)

    The first 440 bytes of MBR are the bootstrap code area. On BIOS systems it usually contains the first stage of the boot loader. The bootstrap code can be backed up, restored from backup or erased using dd.

    Master Boot Record (partition table)

    In the MBR partition table (also known as DOS or MS-DOS partition table) there are 3 types of partitions:

    Primary partitions can be bootable and are limited to four partitions per disk or RAID volume. If the MBR partition table requires more than four partitions, then one of the primary partitions needs to be replaced by an extended partition containing logical partitions within it.

    Extended partitions can be thought of as containers for logical partitions. A hard disk can contain no more than one extended partition. The extended partition is also counted as a primary partition so if the disk has an extended partition, only three additional primary partitions are possible (i.e. three primary partitions and one extended partition). The number of logical partitions residing in an extended partition is unlimited. A system that dual boots with Windows will require for Windows to reside in a primary partition.

    Читайте также:  Как захватить экран windows

    The customary numbering scheme is to create primary partitions sda1 through sda3 followed by an extended partition sda4. The logical partitions on sda4 are numbered sda5, sda6, etc.

    GUID Partition Table

    GUID Partition Table (GPT) is a partitioning scheme that is part of the Unified Extensible Firmware Interface specification; it uses globally unique identifiers (GUIDs), or UUIDs in the Linux world, to define partitions and partition types. It is designed to succeed the Master Boot Record partitioning scheme method.

    At the start of a GUID Partition Table disk there is a protective Master Boot Record (PMBR) to protect against GPT-unaware software. This protective MBR just like an ordinary MBR has a bootstrap code area which can be used for BIOS/GPT booting with boot loaders that support it.

    Choosing between GPT and MBR

    GUID Partition Table (GPT) is an alternative, contemporary, partitioning style; it is intended to replace the old Master Boot Record (MBR) system. GPT has several advantages over MBR which has quirks dating back to MS-DOS times. With the recent developments to the formatting tools, it is equally easy to get good dependability and performance for GPT or MBR.

    Some points to consider when choosing:

    • To dual-boot with Windows (both 32-bit and 64-bit) using Legacy BIOS, the MBR scheme is required.
    • To dual-boot Windows 64-bit using UEFI mode instead of BIOS, the GPT scheme is required.
    • If you are installing on older hardware, especially on old laptops, consider choosing MBR because its BIOS might not support GPT (but see below how to fix it).
    • If you are partitioning a disk that is larger than 2 TiB, you need to use GPT.
    • It is recommended to always use GPT for UEFI boot, as some UEFI implementations do not support booting to the MBR while in UEFI mode.
    • If none of the above apply, choose freely between GPT and MBR. Since GPT is more modern, it is recommended in this case.

    Some advantages of GPT over MBR are:

    • Provides a unique disk GUID and unique partition GUID (PARTUUID) for each partition — A good filesystem-independent way of referencing partitions and disks.
    • Provides a filesystem-independent partition name (PARTLABEL).
    • Arbitrary number of partitions — depends on space allocated for the partition table — No need for extended and logical partitions. By default the GPT table contains space for defining 128 partitions. However if you want to define more partitions, you can allocate more space to the partition table (currently only gdisk is known to support this feature).
    • Uses 64-bit LBA for storing Sector numbers — maximum addressable disk size is 2 ZiB. MBR is limited to addressing 2 TiB of space per drive.[1]
    • Stores a backup header and partition table at the end of the disk that aids in recovery in case the primary ones are damaged.
    • CRC32 checksums to detect errors and corruption of the header and partition table.

    The section on #Partitioning tools contains a table indicating which tools are available for creating and modifying GPT and MBR tables.

    Partitionless disk

    This article or section needs expansion.

    Partitionless disk a.k.a. superfloppy refers to a storage device without a partition table, having one file system occupying the whole storage device. The boot sector present on a partitionless device is called a volume boot record (VBR).

    Btrfs partitioning

    Btrfs can occupy an entire data storage device and replace the MBR or GPT partitioning schemes. See the Btrfs#Partitionless Btrfs disk instructions for details.

    Partition scheme

    This article or section needs expansion.

    There are no strict rules for partitioning a hard drive, although one may follow the general guidance given below. A disk partitioning scheme is determined by various issues such as desired flexibility, speed, security, as well as the limitations imposed by available disk space. It is essentially personal preference. If you would like to dual boot Arch Linux and a Windows operating system please see Dual boot with Windows.

    Single root partition

    This scheme is the simplest and should be enough for most use cases. A swapfile can be created and easily resized as needed. It usually makes sense to start by considering a single / partition and then separate out others based on specific use cases like RAID, encryption, a shared media partition, etc.

    Discrete partitions

    This article or section needs expansion.

    Separating out a path as a partition allows for the choice of a different filesystem and mount options. In some cases like a media partition, they can also be shared between operating systems.

    Below are some example layouts that can be used when partitioning, and the following subsections detail a few of the directories which can be placed on their own separate partition and then mounted at mount points under / . See file-hierarchy(7) for a full description of the contents of these directories.

    The root directory is the top of the hierarchy, the point where the primary filesystem is mounted and from which all other filesystems stem. All files and directories appear under the root directory / , even if they are stored on different physical devices. The contents of the root filesystem must be adequate to boot, restore, recover, and/or repair the system. Therefore, certain directories under / are not candidates for separate partitions.

    The / partition or root partition is necessary and it is the most important. The other partitions can be replaced by it.

    / traditionally contains the /usr directory, which can grow significantly depending upon how much software is installed. 15–20 GiB should be sufficient for most users with modern hard disks. If you plan to store a swap file here, you might need a larger partition size.

    The /boot directory contains the kernel and ramdisk images as well as the boot loader configuration file and boot loader stages. It also stores data that is used before the kernel begins executing user-space programs. /boot is not required for normal system operation, but only during boot and kernel upgrades (when regenerating the initial ramdisk).

    A suggested size for /boot is 200 MiB unless you are using EFI system partition as /boot , in which case at least 260 MiB is recommended.

    The /home directory contains user-specific configuration files, caches, application data and media files.

    Separating out /home allows / to be re-partitioned separately, but note that you can still reinstall Arch with /home untouched even if it is not separate—the other top-level directories just need to be removed, and then pacstrap can be run.

    You should not share home directories between users on different distributions, because they use incompatible software versions and patches. Instead, consider sharing a media partition or at least using different home directories on the same /home partition. The size of this partition varies.

    Читайте также:  Корпоративный касперский для windows

    The /var directory stores variable data such as spool directories and files, administrative and logging data, pacman’s cache, etc. It is used, for example, for caching and logging, and hence frequently read or written. Keeping it in a separate partition avoids running out of disk space due to flunky logs, etc.

    It exists to make it possible to mount /usr as read-only. Everything that historically went into /usr that is written to during system operation (as opposed to installation and software maintenance) must reside under /var .

    /var will contain, among other data, the pacman cache. Retaining these packages is helpful in case a package upgrade causes instability, requiring a downgrade to an older, archived package. The pacman cache will grow as the system is expanded and updated, but it can be safely cleared if space becomes an issue. 8–12 GiB on a desktop system should be sufficient for /var , depending on how much software will be installed.

    One can consider mounting a «data» partition to cover various files to be shared by all users. Using the /home partition for this purpose is fine as well. The size of this partition varies.

    A swap is a file or partition that provides disk space used as virtual memory. Swap files and swap partitions are equally performant, but swap files are much easier to resize as needed. A swap partition can potentially be shared between operating systems, but not if hibernation is used.

    Historically, the general rule for swap partition size was to allocate twice the amount of physical RAM. As computers have gained ever larger memory capacities, this rule is outdated. For example, on average desktop machines with up to 512 MiB RAM, the 2× rule is usually adequate; if a sufficient amount of RAM (more than 1024 MiB) is available, it may be possible to have a smaller swap partition.

    To use hibernation (a.k.a suspend to disk) it is advised to create the swap partition at the size of RAM. Although the kernel will try to compress the suspend-to-disk image to fit the swap space there is no guarantee it will succeed if the used swap space is significantly smaller than RAM. See Power management/Suspend and hibernate#Hibernation for more information.

    Example layouts

    This article or section needs expansion.

    The following examples use /dev/sda as the example disk with /dev/sda1 as the first partition. The block device naming scheme will differ if you are partitioning a NVMe disk (e.g. /dev/nvme0n1 with partitions starting from /dev/nvme0n1p1 ) or an SD card or eMMC disk (e.g. /dev/mmcblk0 with partitions starting from /dev/mmcblk0p1 ). See Device file#Block device names for more information.

    UEFI/GPT layout example

    Mount point on the installed system Partition Partition type GUID Partition attributes Suggested size
    /boot or /efi 1 /dev/sda1 C12A7328-F81F-11D2-BA4B-00A0C93EC93B : EFI system partition At least 260 MiB
    [SWAP] /dev/sda2 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F : Linux swap More than 512 MiB
    / /dev/sda3 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709 : Linux x86-64 root (/) Remainder of the device

    BIOS/MBR layout example

    Mount point on the installed system Partition Partition type ID Boot flag Suggested size
    [SWAP] /dev/sda1 82 : Linux swap No More than 512 MiB
    / /dev/sda2 83 : Linux Yes Remainder of the device
    N/A Unallocated space 2 N/A N/A At least 16.5 KiB at the end of the disk

    BIOS/GPT layout example

    Mount point on the installed system Partition Partition type GUID Partition attributes Suggested size
    None /dev/sda1 21686148-6449-6E6F-744E-656564454649 : BIOS boot partition 3 1 MiB
    [SWAP] /dev/sda2 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F : Linux swap More than 512 MiB
    / /dev/sda3 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709 : Linux x86-64 root (/) Remainder of the device
    1. The ESP can be mounted to /efi if the used boot loader is capable of accessing the file system (and everything above it) on which the kernel and initramfs images are located. See EFI system partition#Typical mount points and the warning in Arch boot process#Boot loader for details.
    2. An unpartitioned space of at least 33 512-byte sectors (16.5 KiB) at the end of the disk to allow converting to GPT in the future. The space will be required for the backup GPT header. The recommendation to preserve an unpartitioned space applies to all MBR partitioned disks.
    3. A BIOS boot partition is only required when using GRUB for BIOS booting from a GPT disk. The partition has nothing to do with /boot , and it must not be formatted with a file system or mounted.

    Tools

    Partitioning tools

    The following programs are used to create and/or manipulate device partition tables and partitions. See the linked articles for the exact commands to be used.

    This table will help you to choose utility for your needs:

    MBR GPT
    Dialog fdisk
    parted
    fdisk
    gdisk
    parted
    Pseudo-graphics cfdisk cfdisk
    cgdisk
    Non-interactive sfdisk
    parted
    sfdisk
    sgdisk
    parted
    Graphical GParted
    gnome-disk-utility
    partitionmanager
    GParted
    gnome-disk-utility
    partitionmanager

    fdisk

    fdisk and its related utilities are described in the fdisk article.

    • fdisk ( util-linux )
      • fdisk(8) – Dialog-driven program for creation and manipulation of partition tables.
      • cfdisk(8) – Curses-based variant of fdisk.
      • sfdisk(8) – Scriptable variant of fdisk.

    GPT fdisk

    gdisk and its related utilities are described in the gdisk article.

    GNU Parted

    These group of tools are described in the GNU Parted article.

    Backup

    • fdisk can create a backup of the partitions table. See fdisk#Backup and restore partition table.
    • GPT fdisk can create a binary backup consisting of the protective MBR, the main GPT header, the backup GPT header, and one copy of the partition table. See GPT fdisk#Backup and restore partition table.

    Recovery

    • gpart — A utility that guesses the contents of a destroyed MBR partition table. Its usage is explained in the gpart(8) man page.

    https://github.com/baruch/gpart || gpart

    • GPT fdisk — A partitioning tool that can restore the primary GPT header (located at the start of the disk) from the secondary GPT header (located at the end of the disk) or vice versa.

    https://www.rodsbooks.com/gdisk/ || gptfdisk

    • TestDisk — A utility that supports recovering lost partitions on both MBR and GPT.

    https://www.cgsecurity.org/index.html?testdisk.html || testdisk

    Partition alignment

    fdisk, gdisk and parted handle alignment automatically. See GNU Parted#Check alignment if you want to verify your alignment after partitioning.

    For certain drives Advanced Format might be able to provide a better-performing alignment.

    GPT kernel support

    The CONFIG_EFI_PARTITION option in the kernel config enables GPT support in the kernel (despite the name, EFI PARTITION). This option must be built in the kernel and not compiled as a loadable module. This option is required even if GPT disks are used only for data storage and not for booting. This option is enabled by default in all Arch’s officially supported kernels. In case of a custom kernel, enable this option by doing CONFIG_EFI_PARTITION=y .

    Troubleshooting

    This article or section needs expansion.

    Источник

    Оцените статью