GNU/Linux >> Belajar Linux >  >> Linux

Ubah nomor partisi dari sda1 menjadi sda2

Saya baru saja melakukan ini dengan cara yang lebih mudah:

# sfdisk -d /dev/sdb > sdb.bkp

tinggalkan salinan untuk keamanan

# cp sdb.bkp sdb.new 

sekarang edit sdb.new mengubah HANYA urutan baris dan nomor partisi, seperti dalam kasus saya:

dari

# partition table of /dev/sdb
unit: sectors

/dev/sdb1 : start=  1026048, size=975747120, Id=83
/dev/sdb2 : start=     2048, size=   204800, Id=83
/dev/sdb3 : start=   206848, size=   819200, Id= b
/dev/sdb4 : start=        0, size=        0, Id= 0

untuk

# partition table of /dev/sdb
unit: sectors

/dev/sdb1 : start=     2048, size=   204800, Id=83
/dev/sdb2 : start=   206848, size=   819200, Id= b
/dev/sdb3 : start=  1026048, size=975747120, Id=83
/dev/sdb4 : start=        0, size=        0, Id= 0

lalu membuangnya kembali ke tabel partisi disk?

# sfdisk /dev/sdb < sdb.new

Urutan penomoran saya rusak setelah saya mengecilkan &menggeser ke kanan satu-satunya partisi (sdb1) untuk menambahkan dua partisi yang lebih kecil di awal disk menggunakan gparted .

Jika perintah terakhir tidak berfungsi, seperti dalam kasus saya, ubah menjadi:

# sfdisk --no-reread -f /dev/sdb < sdb.new

FYI, itu ide yang buruk dan Anda bisa kehilangan segalanya. Jika Anda masih ingin melakukannya, berikut langkah-langkahnya:

  1. Jangan lakukan. Jika ini tidak membantu, maka:
  2. Gunakan sfdisk alat:Pertama, buat cadangan tabel partisi menggunakan

    sfdisk -d /dev/sda > sda.out
    

    Lalu lakukanlah:

    sfdisk /dev/sda -O sda-partition-sectors.save
    

    Anda akan melihat sesuatu seperti ini

    Checking that no-one is using this disk right now ...
    OK
    
    Disk /dev/sda: 1018 cylinders, 124 heads, 62 sectors/track
    Old situation:
    Units = cylinders of 3936256 bytes, blocks of 1024 bytes, counting from 0
    
       Device Boot Start     End   #cyls    #blocks   Id  System
    /dev/sda1          0+      5       6-     23063+  83  Linux
    /dev/sda2          6    1017    1012    3890128   83  Linux
    /dev/sda3          0       -       0          0    0  Empty
    /dev/sda4          0       -       0          0    0  Empty
    Input in the following format; absent fields get a default value.
    <start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
    Usually you only need to specify <start> and <size> (and perhaps <type>).
    
    /dev/sda1 :
    

Sekarang meminta Anda untuk memberikan detail baru untuk partisi 'sda1'. Jadi harus kasih nomor sda2 disini. Jadi, saya taruh '6 1012' di sini dan tekan Enter:

    /dev/sda1 :6 1012
    /dev/sda1          6    1017    1012    3890128   83  Linux
    /dev/sda2 :

Sekarang periksa jika angka yang dicetak setelah Anda menekan Enter adalah persis sama seperti yang dicetak sebelumnya untuk sda2. Jika tidak apa-apa, lanjutkan dengan memberikan nomor baru untuk sda2:

    /dev/sda2 :0
    /dev/sda2          0+      5       6-     23063+  83  Linux
    /dev/sda3 :

Kali ini cukup memasukkan "0" dalam kasus saya - tetapi Anda harus memastikan nomornya tidak kacau di milik Anda.

Selanjutnya, lanjutkan dengan partisi lainnya dengan cara yang sama. Jika Anda sudah mencapai akhir disk, menekan Enter sudah cukup. Terakhir, periksa kembali apakah semua nomor sudah benar dan simpan tabel partisi (atau tidak). Jika Anda mengacaukan sesuatu, lihat man sfdisk dan deskripsi opsi '-d', '-O' dan '-I'.

Perhatikan juga, bahwa setelah Anda membuat perubahan gila, Anda mungkin perlu menjalankan 'sinkronisasi' agar partisi dapat dibaca ulang sebelum Anda mencoba memasangnya.


Semua solusi yang ada terlihat sangat aman, namun akibatnya cukup rumit.

Saya ingin menyusun ulang semua partisi saya agar rapi.

Jika Anda lebih berpengalaman, memiliki data yang tidak penting atau dicadangkan, dan dengan senang hati memperbaiki masalah apa pun sebagai hasilnya, Anda dapat mem-boot dari Live CD dan melakukannya dengan cara ini:

sudo fdisk /dev/sdX

lalu:

  • x untuk masuk ke Mode Pakar
  • f untuk memperbaiki urutan drive (mungkin i untuk mengabaikan peringatan jika diperlukan)
  • r untuk kembali ke mode normal
  • w untuk menulis perubahan ke disk dan keluar

Tambahan

Saya tidak ingat persis langkah selanjutnya karena saya hanya melakukannya sekali dan belum menguji ulang, tetapi karena saya juga memindahkan instalasi, saya juga memasang partisi dan menyalin semua file:

sudo mkdir /mnt/sda4
sudo mount /dev/sda4 /mnt/sda4
sudo mkdir /mnt/sda5
sudo mount /dev/sda5 /mnt/sda5
date;cp -a /mnt/sda4/* /mnt/sda5;date

Dan kemudian dapatkan id partisi:

sudo blkid

dan memperbarui berikut ini untuk mencerminkan nilai UUID partisi baru:

  • /mnt/sda5/boot/grub/grub.cfg
  • /mnt/sda5/etc/fstab

Saya kemudian memperbarui GRUB2:

sudo grub-install --root-directory=/mnt/sda5 /dev/sda

Linux
  1. Loop Mengabaikan Perubahan Variabel Dari Subkulit Di Latar Belakang?

  2. Cara mengubah jumlah perintah yang disimpan di Bash History

  3. Bagaimana cara mengubah nama host di Ubuntu

  1. Bagaimana cara membatasi jumlah hasil yang dikembalikan dari grep?

  2. Bagaimana cara mengubah kursor Terminal dari kotak ke baris?

  3. Apakah ada cara untuk mengubah id volume file .iso dari baris perintah?

  1. Cara mengubah direktori jendela baru default dari dalam tmux

  2. Bolehkah mkfs tanpa nomor partisi?

  3. Tidak dapat memasang sda1:Perangkat '/dev/sda1' tampaknya tidak memiliki NTFS yang valid.