gpart bootcode Operation not permitted
Miroslav Lachman
000.fbsd at quip.cz
Fri Apr 3 19:54:23 UTC 2020
Artem Kuchin wrote on 2020/04/03 21:23:
> 03.04.2020 17:42, Miroslav Lachman пишет:
>>
>> I think you can use "gmirror stop" on boot partition, then "gmirror
>> clear" and then update both individual boot partitions by gpart.
>>
>>
>
> I am afraid to do it. Gmirror stops mirroring, okay. What what gmirror
> clear does? What metadata is cleared and what it is used for?
>
> How to restart mirroring after that and how to make sure that mirror is
> 100% complete?
>
> Is it possible to exclude only boot partition from mirroring?
Of course that's what I am suggesting - just split up mirroring of boot
partition and keep mirroring on swap and root!
Gmirror clear deletes the very last sector on the given partition where
metadata of gmirror are stored. It does not touch the data on the
partitions. You don't need to worry.
You have 3 mirrors. They are visible in /dev/mirror or by command
"gmirror status":
boot
swap
root
As the "man gmirror" shows:
gmirror stop [-fv] name ...
You can run: gmirror stop -v boot
It stops only the "boot" mirror. swap and root are still mirrored.
Then you can clear metadata on each provider:
gmirror clear ada0p1
gmirror clear ada1p1
Or you can use "gmirror destroy -v boot" istead of 3 command above. It
should stop the "boot" mirror and then clear metadata on both providers.
The you will have / your system will use 2 independent boot partitions:
ada0p1 and ada1p1.
The machine should be able to boot from any of those 2 disks because
each of them has valid boot partitions / boot code.
Gpart bootcode should work for them on each system upgrade.
gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0
gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada1
Kind regards
Miroslav Lachman
More information about the freebsd-fs
mailing list