Performing a bare metal backup on a Windows 10 system

If you want to perform a "bare metal" backup of a Microsoft Windows 10 system to an external USB drive without a third-party application, you can use the Backup and Restore utility that is provided by Microsoft with the operating system. You can run the program from a command-line interface (CLI) by opening a command prompt window with administrator privileges and issuing the command wbadmin start backup -backupTarget:x -allcritical -quiet where x is the drive letter for the drive where you wish to store the backup. When you add the -quiet option, the backup will be run with no prompts for the user. The --allcritical option "creates a backup that includes all critical volumes (critical volumes contain the operating system files and components)." The options for the wbadmin start backup command are shown below.

C:\WINDOWS\system32> wbadmin start backup /?
wbadmin 1.0 - Backup command-line tool
(C) Copyright 2013 Microsoft Corporation. All rights reserved.

ERROR - Command syntax incorrect. Error: /?. See the command
syntax below.

Syntax: WBADMIN START BACKUP
    [-backupTarget:{<BackupDestinationVolume> | <TargetNetworkShare>}]
    [-include:<VolumesToInclude>]
    [-allCritical]
    [-user:<UserName>]
    [-password:<Password>]
    [-noInheritAcl]
    [-noVerify]
    [-vssFull | -vssCopy]
    [-quiet]

Description:  Creates a backup using specified parameters. If no parameters
are specified and you have created a scheduled daily backup, this command
creates the backup by using the settings for the scheduled backup.

Parameters:
-backupTarget  Specifies the storage location for this backup. Requires a
                hard disk drive letter (f:), a volume GUID-based path in the
                format of \\?\Volume{GUID}, or a Universal Naming Convention
                (UNC) path to a remote shared folder
                (\\<servername>\<sharename>\).
                By default, the backup will be saved at: \\<servername>
                \<sharename>\WindowsImageBackup\<ComputerBackedUp>\.
                Important: If you save a backup to a remote shared folder,
                that backup will be overwritten if you use the same folder to
                back up the same computer again. In addition, if the backup
                operation fails, you may finish with no backup because the
                older backup will be overwritten, but the newer backup will
                not be usable.
                You can avoid this by creating subfolders in the remote shared
                folder to organize your backups. If you do this, the
                subfolders will need twice the space of the parent folder.

-include       Specifies the comma-delimited list of items to include in the
                backup. You can include multiple volumes. Volume paths can be
                specified using volume drive letters, volume mount points, or
                GUID-based volume names. If you use a GUID-based volume
                name, it should be terminated with a backslash (\). You can
                use the wildcard character (*) in the file name when
                specifying a path to a file. Should be used only when the
                -backupTarget parameter is used.

-allCritical   Creates a backup that includes all critical volumes (critical
                volumes contain the operating system files and components) in
                addition to any other items that you specified with the
                -include parameter. This parameter is useful if you are
                creating a backup for bare metal recovery or system state
                recovery. Should be used only when the -backupTarget
                parameter is used.

-user          If the backup is saved to a remote shared folder, specifies
                the user name with write permission to the folder.

-password      Specifies the password for the user name that is provided by
                the parameter -user.

-noInheritAcl  Applies the access control list (ACL) permissions that
                correspond to the credentials specified by -user and
                -password to \\<servername>\<sharename>\WindowsImageBackup
                \<ComputerBackedUp>\ (the folder that contains the backup).
                To access the backup later, you must use these credentials or
                be a member of the Administrators group or the Backup
                Operators group on the computer with the shared folder.
                If -noInheritAcl is not used, the ACL permissions from the
                remote shared folder are applied to the
                <ComputerBackedUp> folder by default so that anyone with        
                access to the remote shared folder can access the backup.

-noVerify      Specifies that backups written to removable media (such as a
                DVD) are not verified for errors. If you do not use this
                parameter, backups saved to removable media are verified for
                errors.

-vssFull       Performs a full backup using the Volume Shadow Copy Service
                (VSS). Each file's history is updated to reflect that it was
                backed up. If this parameter is not used WBADMIN START BACKUP
                makes a copy backup, but the history of files being backed up
                is not updated.
                Caution: Do not use this parameter if you are using a product
                other than Windows Server Backup to back up applications that
                are on the volumes included in the current backup. Doing so
                can potentially break the incremental, differential, or other
                type of backups that the other backup product is creating.

-vssCopy       Performs a copy backup using VSS. The history of the files
                being backed up is not updated. This is the default value.

-quiet         Runs the command with no prompts to the user.

Example: WBADMIN START BACKUP -backupTarget:f: -include:e:,d:\mountpoint,
\\?\Volume{cc566d14-44a0-11d9-9d93-806e6f6e6963}\


C:\WINDOWS\system32>

The example below is from a Windows 10 system where the Backup and Restore utility is scheduled to run automatically at 2:00 AM every Sunday morning, but I wanted to perform a complete "bare metal" backup prior to attempting to fix a Microsoft Office problem on the system. I backed up the system to an external USB drive mounted with drive letter I:.

C:\WINDOWS\system32>wbadmin start backup -backupTarget:I: -allcritical -quiet
wbadmin 1.0 - Backup command-line tool
(C) Copyright 2013 Microsoft Corporation. All rights reserved.

Retrieving volume information...
This will back up RECOVERY (9.88 GB),OS(C:) to I:.
The backup operation to I: is starting.
Creating a shadow copy of the volumes specified for backup...
Creating a shadow copy of the volumes specified for backup...
Creating a shadow copy of the volumes specified for backup...
<text snipped>
Creating a backup of volume OS(C:), copied (94%).
Creating a backup of volume OS(C:), copied (94%).
Creating a backup of volume OS(C:), copied (94%).
Creating a backup of volume OS(C:), copied (95%).
Creating a backup of volume OS(C:), copied (95%).
Creating a backup of volume OS(C:), copied (95%).
Creating a backup of volume OS(C:), copied (95%).
Creating a backup of volume OS(C:), copied (96%).
Creating a backup of volume OS(C:), copied (96%).
Creating a backup of volume OS(C:), copied (96%).
Creating a backup of volume OS(C:), copied (97%).
Creating a backup of volume OS(C:), copied (97%).
Creating a backup of volume OS(C:), copied (97%).
Creating a backup of volume OS(C:), copied (97%).
Creating a backup of volume OS(C:), copied (98%).
Creating a backup of volume OS(C:), copied (98%).
Creating a backup of volume OS(C:), copied (98%).
Creating a backup of volume OS(C:), copied (99%).
Creating a backup of volume OS(C:), copied (99%).
Creating a backup of volume OS(C:), copied (99%).
Creating a backup of volume OS(C:), copied (99%).
The backup of volume OS(C:) completed successfully.
Summary of the backup operation:
------------------

The backup operation successfully completed.
The backup of volume RECOVERY (9.88 GB) completed successfully.
The backup of volume OS(C:) completed successfully.
Log of files successfully backed up:
C:\WINDOWS\Logs\WindowsBackup\Backup-05-05-2018_03-08-12.log


C:\WINDOWS\system32>

After the backup operation completed, when I checked the stored backup versions with wbadmin get versions, I saw the following ones at the end of the list.

Backup time: 4/15/2018 11:35 PM
Backup target: 1394/USB Disk labeled TOSHIBA EXT(K:)
Version identifier: 04/16/2018-03:35
Can recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Snapshot ID: {758c3fd6-ad63-4ff3-abcf-d0e8dd50d6f7}

Backup time: 4/22/2018 2:00 AM
Backup target: 1394/USB Disk labeled TOSHIBA EXT(K:)
Version identifier: 04/22/2018-06:00
Can recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Snapshot ID: {57981352-cf1d-4a83-921a-79526f128c3a}

Backup time: 4/29/2018 2:00 AM
Backup target: 1394/USB Disk labeled TOSHIBA EXT(K:)
Version identifier: 04/29/2018-06:00
Can recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Snapshot ID: {9a630434-c305-4029-88ff-a3a060790220}

Backup time: 5/4/2018 11:08 PM
Backup target: 1394/USB Disk labeled My Passport(I:)
Version identifier: 05/05/2018-03:08
Can recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Snapshot ID: {a74a7f66-6a07-4877-bfb4-9a6505820f24}

Backup time: 5/6/2018 2:00 AM
Backup target: 1394/USB Disk labeled TOSHIBA EXT(K:)
Version identifier: 05/06/2018-06:00
Can recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Snapshot ID: {18e8962e-c495-4ef2-9ab5-66ffb1306220}


C:\WINDOWS\system32>

I.e., the weeky Sunday backups were there along with the bare metal one I manually started from the command line. You can view the details for a particular backup using the wbadmin get items -version: command where -version: is followed by the version identifieer. E.g.:

C:\WINDOWS\system32>wbadmin get items -version:05/05/2018-03:08
wbadmin 1.0 - Backup command-line tool
(C) Copyright 2013 Microsoft Corporation. All rights reserved.

Volume ID = {318b3007-dbe4-11df-aef6-806e6f6e6963}
Volume 'RECOVERY', mounted at <not mounted> ('RECOVERY', mounted at <not mounted> at the time
the backup was created)
Volume size = 9.88 GB
Can recover = Full volume

Volume ID = {318b3008-dbe4-11df-aef6-806e6f6e6963}
Volume 'OS', mounted at C:
Volume size = 288.16 GB
Can recover = Full volume

Application = Registry
Component = Registry (\Registry)


C:\WINDOWS\system32>

The syntax for the wbadmin get items command is shown below.

C:\WINDOWS\system32>wbadmin get items
wbadmin 1.0 - Backup command-line tool
(C) Copyright 2013 Microsoft Corporation. All rights reserved.

ERROR - An option required for the command is missing: Version. See the
syntax below.

Syntax: WBADMIN GET ITEMS
    -version:<VersionIdentifier>
    [-backupTarget:{<BackupDestinationVolume> | <NetworkSharePath>}]
    [-machine:<BackupMachineName>]

Description:  Lists the items included in a specific backup.
To use this command, you must be a member of the Backup Operators group
or Administrators group.

Parameters:
-version       Specifies the version of the backup in MM/DD/YYYY-HH:MM format.
                If you do not know the version information, type WBADMIN GET
                VERSIONS.

-backupTarget  Specifies the storage location that contains the backups for
                which you want the details. The storage location can be a
                locally attached disk drive or a remote shared folder. If
                WBADMIN GET VERSIONS is run on the same server where the
                backup was created, this parameter is not needed. However,
                this parameter is required to get information about a backup
                created from another server.

-machine       Specifies the name of the computer that you want the backup
                details for. Useful when multiple computers have been backed
                up to the same location. Should be used when -backupTarget is
                specified.

Examples:
WBADMIN GET ITEMS -version:03/31/2005-09:00
WBADMIN GET ITEMS -version:04/30/2005-09:00 -backupTarget:\\servername\share
-machine:server01


C:\WINDOWS\system32>

Related articles:

  1. Determining last Windows backup time from a command prompt
  2. Deleting old Windows backups with wbadmin
  3. Checking the status of a server backup with wbadmin
  4. Image Backup with Windows 7 Backup Program
  5. Windows 7 Image Backup to Network Location