перезагрузить таблицу разделов в Linux без перезагрузки системы

Thank you for reading this post, don't forget to subscribe!

Эти мето­ды застав­ля­ют ядро пере­за­гру­жать таб­ли­цу раз­де­лов и повтор­но запол­нять ее иден­ти­фи­ка­то­ры в /dev.

Если вы ище­те ути­ли­ты для раз­де­лов дис­ка, вы може­те попро­бо­вать одну из них.

Ути­ли­ты дис­ко­во­го раз­де­ле­ния — это fdisk и parted.

Вы може­те полу­чить вывод, подоб­ный при­ве­ден­но­му ниже, в боль­шин­стве слу­ча­ев в вир­ту­аль­ной сре­де, когда вы выпол­ня­е­те раз­де­ле­ние диска.

Вы може­те полу­чить такой же вывод в боль­шин­стве слу­ча­ев в физи­че­ской сре­де, когда вы выпол­ня­е­те раз­де­ле­ние диска.

Я про­те­сти­ро­вал при­ве­ден­ные ниже коман­ды в систе­ме Arch Linux, и они рабо­та­ли нор­маль­но, кро­ме коман­ды partx.

Пото­му что я не вижу ника­ких логов жур­на­ле dmesg после запус­ка коман­ды partx.

Одна­ко он рабо­тал нор­маль­но, как и ожи­да­лось в систе­мах RHEL 7.

Я бы посо­ве­то­вал вам выпол­нить любую из при­ве­ден­ных ниже команд после добав­ле­ния раз­де­ла в систе­му Linux, что­бы про­ин­фор­ми­ро­вать ОС об изме­не­ни­ях таб­ли­цы разделов.

Это мож­но сде­лать с помо­щью сле­ду­ю­щих четы­рех методов.

  • partprobe: partprobe — это про­грам­ма, кото­рая инфор­ми­ру­ет ядро опе­ра­ци­он­ной систе­мы об изме­не­ни­ях таб­ли­цы раз­де­лов, запра­ши­вая у опе­ра­ци­он­ной систе­мы пере­чи­ты­ва­ние таб­ли­цы разделов.
  • blockdev: Ути­ли­та blockdev поз­во­ля­ет вызы­вать ioctl для блоч­ных устройств из команд­ной строки.
  • hdparm: hdparm предо­став­ля­ет интер­фейс команд­ной стро­ки для раз­лич­ных интер­фей­сов ядра, под­дер­жи­ва­е­мых под­си­сте­мой «libata» Linux SATA / PATA / SAS и более ста­рой под­си­сте­мой драй­ве­ров IDE.
  • partx: partx сооб­ща­ет ядру о нали­чии и нуме­ра­ции раз­де­лов на диске.

Как перезагрузить таблицу разделов в Linux с помощью команды partprobe

partprobe — это про­грам­ма, кото­рая инфор­ми­ру­ет ядро опе­ра­ци­он­ной систе­мы об изме­не­ни­ях таб­ли­цы раз­де­лов, запра­ши­вая у систе­мы, что­бы она пере­чи­та­ла таб­ли­цу разделов.

Это стан­дарт­ная и натив­ная коман­да для выпол­не­ния этой задачи.

В этом при­ме­ре я соби­ра­юсь исполь­зо­вать /dev/sdb. Помни­те, что вам нуж­но вве­сти имя ваше­го устрой­ства вме­сто нашего.

dmesg исполь­зу­ет­ся для про­вер­ки или управ­ле­ния коль­це­вым буфе­ром ядра.

Итак, исполь­зуй­те сле­ду­ю­щую коман­ду, что­бы уви­деть изме­не­ния в ядре.

Да, я вижу изме­не­ния, пото­му что в dmesg есть новый лог для устрой­ства SDB.

Как перезагрузить таблицу разделов в Linux с помощью команды blockdev

Ути­ли­та blockdev поз­во­ля­ет вызы­вать ioctl блоч­ных устройств из команд­ной строки.

Мы можем исполь­зо­вать коман­ду blockdev для выпол­не­ния этой задачи.

Исполь­зуй­те сле­ду­ю­щую коман­ду dmesg, что­бы уви­деть изме­не­ния в ядре.

Да, я вижу изме­не­ния, пото­му что в dmesg сно­ва появил­ся новый лог для устрой­ства sdb.

Как перезагрузить таблицу разделов в Linux с помощью команды hdparm

hdparm предо­став­ля­ет интер­фейс команд­ной стро­ки для раз­лич­ных интер­фей­сов ядра, под­дер­жи­ва­е­мых под­си­сте­мой «libata» Linux SATA / PATA / SAS и более ста­рой под­си­сте­мой драй­ве­ров IDE.

В каче­стве аль­тер­на­ти­вы, мы можем исполь­зо­вать коман­ду hdparm для выпол­не­ния этой задачи.

Исполь­зуй­те сле­ду­ю­щую коман­ду dmesg, что­бы уви­деть изме­не­ния в ядре.

Да, я вижу изме­не­ния, пото­му что в dmesg сно­ва появил­ся новый лог для устрой­ства sdb.

Как перезагрузить таблицу разделов в Linux с помощью команды partx

partx сооб­ща­ет ядру о нали­чии и нуме­ра­ции раз­де­лов на диске.

Коман­да partx явля­ет­ся частью паке­та util-linux и доступ­на из архи­ва ядра Linux.

В каче­стве аль­тер­на­ти­вы, мы можем исполь­зо­вать коман­ду partx для выпол­не­ния этой задачи.

Вы може­те два­жды под­твер­дить это, выпол­нив сле­ду­ю­щую команду.

Если таб­ли­ца раз­де­лов успеш­но пере­за­гру­же­на и вид­на ядру, вы може­те уви­деть эти новые раз­де­лы в этом месте.

Эту же инфор­ма­цию мож­но най­ти с помо­щью сле­ду­ю­щей коман­ды ls.

Эту же инфор­ма­цию мож­но най­ти с помо­щью сле­ду­ю­щей коман­ды partx.