PVREMOVE(8)
โจ pvremove(8) โจ โ the System Manager's Manual page, but make it cute
okay bestie, so this is pvremove(8) from the System Manager's Manual ๐
it's giving "breakup era, but for storage devices" and honestly? iconic.
๐ธ NAME ๐ธ
pvremove โ Remove LVM label(s) from physical volume(s)
like, it literally takes the LVM name tag off your device so LVM forgets it ever happened ๐
๐ SYNOPSIS ๐
pvremove position_args
[ option_args ]
๐ DESCRIPTION ๐
pvremove wipes the label on a device so that LVM will no longer recognise it as a PV. that's it, that's the whole vibe โ you're erasing the little "hi I'm a physical volume ๐ฅฐ" tag so LVM walks right past it like a stranger. no cap.
A PV cannot be removed from a VG while it is used by an active LV. so if an active LV is still holding onto it, it's not going anywhere, periodt. it's giving situationship with consequences ๐ญ
Repeat the force option (-ff) to forcibly remove a PV belonging to an existing VG. Normally, vgreduce(8) should be used instead. like, -ff is the nuclear option and vgreduce(8) is the responsible adult in the room. choose wisely bestie ๐ซถ
๐ฆ USAGE ๐ฆ
pvremove PV ...
[ -f|--force ... ]
[ --reportformat basic|json|json_std ]
[ COMMON_OPTIONS ]
โ
Common options for lvm:
[ -d|--debug ... ]
[ -h|--help ]
[ -q|--quiet ... ]
[ -t|--test ]
[ -v|--verbose ... ]
[ -y|--yes ]
[ --commandprofile String ]
[ --config String ]
[ --devices PV ]
[ --devicesfile String ]
[ --driverloaded y|n ]
[ --journal String ]
[ --lockopt String ]
[ --longhelp ]
[ --nohints ]
[ --nolocking ]
[ --profile String ]
[ --version ]
โจ OPTIONS โจ
--commandprofile Stringโ the command profile to use for command configuration. Seelvm.conf(5)for more information about profiles. it's the lil preset you're running this command with ๐--config Stringโ config settings for the command. These overridelvm.conf(5)settings. The String arg uses the same format aslvm.conf(5), or may use section/field syntax. Seelvm.conf(5)for more information about config. inline config override, main character energy ๐-d,--debug ...โ set debug level. Repeat from 1 to 6 times to increase the detail of messages sent to the log file and/or syslog (if configured). yes you can spam it, 1 through 6, that's the range ๐ฅ--devices PVโ restricts the devices that are visible and accessible to the command. Devices not listed will appear to be missing. This option can be repeated, or accepts a comma-separated list of devices. This overrides the devices file. it's giving "you can't sit with us" to the unlisted devices ๐--devicesfile Stringโ a file listing devices that LVM should use. The file must exist in/etc/lvm/devices/and is managed with thelvmdevices(8)command. This overrides thelvm.conf(5)devices/devicesfileanddevices/use_devicesfilesettings.--driverloaded y|nโ if set tono, the command will not attempt to use device-mapper. For testing and debugging. lowkey a lab-experiment mode ๐งช-f,--force ...โ override various checks, confirmations and protections. Use with extreme caution. โ ๏ธ bestie. BESTIE. extreme caution. i cannot stress this enough ๐-h,--helpโ display help text. the "wait what does this do again" button ๐ซถ--journal Stringโ record information in the systemd journal. This information is in addition to information enabled by thelvm.conflog/journalsetting.command:record information about the command.output:record the default command output.debug:record full command debugging.--lockopt Stringโ used to pass options for special cases tolvmlockd. Seelvmlockd(8)for more information. niche but slay ๐--longhelpโ display long help text. like--helpbut it doesn't gatekeep ๐--nohintsโ do not use the hints file to locate devices for PVs. A command may read more devices to find PVs when hints are not used. The command will still perform standard hint file invalidation where appropriate. so it's slower but like, thorough ๐--nolockingโ disable locking. Use with caution, concurrent commands may produce incorrect results. โ ๏ธ literally telling you it can produce wrong answers. be so serious rn ๐ญ--profile Stringโ an alias for--commandprofileor--metadataprofile, depending on the command. it shapeshifts based on who's asking ๐ซ-q,--quiet ...โ suppress output and log messages. Overrides--debugand--verbose. Repeat once to also suppress any prompts with answerno. so-qqis auto-no, not silent-mode-squared, got it? ๐--reportformat basic|json|json_stdโ overrides current output format for reports which is defined globally by thereport/output_formatsetting inlvm.conf(5).basicis the original format with columns and rows. If there is more than one report per command, each report is prefixed with the report name for identification.jsonproduces report output in JSON format.json_stdproduces report output in JSON format which is more compliant with the JSON standard. Seelvmreport(7)for more information. pick your aesthetic ๐-t,--testโ run in test mode. Commands will not update metadata. This is implemented by disabling all metadata writing but nevertheless returning success to the calling function. This may lead to unusual error messages in multi-stage operations if a tool relies on reading back metadata it believes has changed but hasn't. so it says "yep did it โจ" while doing absolutely nothing. fake it till you make it, except the errors are real ๐ซ-v,--verbose ...โ set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr. 1 to 4, that's the cap ๐ฃ--versionโ display version information. the "who even am i" flag ๐ฆ-y,--yesโ do not prompt for confirmation interactively but always assume the answer yes. Use with extreme caution. (For automatic no, see-qq.) โ ๏ธ saying yes to everything is a personality trait and also a terrible idea here ๐จ
๐ VARIABLES ๐
PVโ Physical Volume name, a device path under/dev. For commands managing physical extents, a PV positional arg generally accepts a suffix indicating a range (or multiple ranges) of physical extents (PEs). When the first PE is omitted, it defaults to the start of the device, and when the last PE is omitted it defaults to the end.
Start and end range (inclusive): PV[:PE-PE] ...
Start and length range (counting from 0): PV[:PE+PE] ...
Stringโ see the option description for information about the string content. yeah it's giving "read the room" (the room is the option description) ๐Size[UNIT]โ Size is an input number that accepts an optional unit. Input units are always treated as base two values, regardless of capitalization, e.g.'k'and'K'both refer to 1024. The default input unit is specified by letter, followed by|UNIT. UNIT represents other possible input units:b|Bis bytes,s|Sis sectors of 512 bytes,k|Kis KiB,m|Mis MiB,g|Gis GiB,t|Tis TiB,p|Pis PiB,e|Eis EiB. (This should not be confused with the output control--units, where capital letters mean multiple of 1000.) okay so base-two input no matter what, and yes the capital letters mean something different for--units. do not get these two confused, i'm begging ๐
๐ ENVIRONMENT VARIABLES ๐
See lvm(8) for information about environment variables used by lvm. For example, LVM_VG_NAME can generally be substituted for a required VG parameter. so like, drop the env var and skip typing the VG name. efficiency queen ๐
โญ SEE ALSO โญ
lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),
pvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8), pvscan(8),
vgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgcreate(8), vgconvert(8), vgdisplay(8), vgexport(8), vgextend(8), vgimport(8), vgimportclone(8), vgimportdevices(8), vgmerge(8), vgmknodes(8), vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8), vgsplit(8),
lvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8), lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8),
lvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),
dmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), lvmdbusd(8), fsadm(8),
lvmsystemid(7), lvmreport(7), lvmcache(7), lvmraid(7), lvmthin(7), lvmvdo(7), lvmautoactivation(7)
okay that's the whole page bestie, we ate and left no crumbs ๐ literally every flag accounted for, fr fr.
Red Hat, Inc. ๐ LVM TOOLS 2.03.44(2) ๐ (2026-10-27) โ that's who made it, what version you're running, and when this page went out. date check: passed ๐
โจ stay hydrated, back up your data, and never -ff a VG you don't own ๐
๐ซถ
๐ฆ where this page comes from
- arch rolling: lvm2 2.03.44-1 ยท GPL-2.0-only AND LGPL-2.1-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms