Index: src/wp-admin/includes/class-core-upgrader.php
===================================================================
--- src/wp-admin/includes/class-core-upgrader.php	(revision 49563)
+++ src/wp-admin/includes/class-core-upgrader.php	(working copy)
@@ -279,9 +279,9 @@
 		$current_is_development_version = (bool) strpos( $wp_version, '-' );
 
 		// Defaults:
-		$upgrade_dev   = get_site_option( 'auto_update_core_dev', true );
-		$upgrade_minor = get_site_option( 'auto_update_core_minor', true );
-		$upgrade_major = get_site_option( 'auto_update_core_major', false );
+		$upgrade_dev   = get_site_option( 'auto_update_core_dev', 'enabled' ) === 'enabled';
+		$upgrade_minor = get_site_option( 'auto_update_core_minor', 'enabled' ) === 'enabled';
+		$upgrade_major = get_site_option( 'auto_update_core_major', 'unset' ) === 'enabled';
 
 		// WP_AUTO_UPDATE_CORE = true (all), 'beta', 'rc', 'minor', false.
 		if ( defined( 'WP_AUTO_UPDATE_CORE' ) ) {
Index: src/wp-admin/update-core.php
===================================================================
--- src/wp-admin/update-core.php	(revision 49563)
+++ src/wp-admin/update-core.php	(working copy)
@@ -306,22 +306,22 @@
  * @since 5.6.0
  */
 function core_auto_updates_settings() {
-	$upgrade_major_value = '';
-	if ( isset( $_POST['core-auto-updates-settings'] ) && wp_verify_nonce( $_POST['set_core_auto_updates_settings'], 'core-auto-updates-nonce' ) ) {
-		if ( isset( $_POST['core-auto-updates-major'] ) && 1 === (int) $_POST['core-auto-updates-major'] ) {
-			update_site_option( 'auto_update_core_major', 1 );
-		} else {
-			update_site_option( 'auto_update_core_major', 0 );
+	if ( isset( $_GET['core-major-auto-updates-saved'] ) ) {
+		if ( 'enabled' === $_GET['core-major-auto-updates-saved'] ) {
+			$notice_text = __( 'WordPress will auto-update to next major versions.' );
+			echo '<div class="notice notice-success is-dismissible"><p>' . $notice_text . '</p></div>';
+		} elseif ( 'disabled' === $_GET['core-major-auto-updates-saved'] ) {
+			$notice_text = __( 'WordPress will no longer auto-update to next major versions.' );
+			echo '<div class="notice notice-success is-dismissible"><p>' . $notice_text . '</p></div>';
 		}
-		echo '<div class="notice notice-success is-dismissible"><p>';
-		_e( 'WordPress auto-update settings updated.' );
-		echo '</p></div>';
 	}
 
-	$upgrade_dev   = get_site_option( 'auto_update_core_dev', true );
-	$upgrade_minor = get_site_option( 'auto_update_core_minor', true );
-	$upgrade_major = get_site_option( 'auto_update_core_major', false );
+	// Defaults:
+	$upgrade_dev   = get_site_option( 'auto_update_core_dev', 'enabled' ) === 'enabled';
+	$upgrade_minor = get_site_option( 'auto_update_core_minor', 'enabled' ) === 'enabled';
+	$upgrade_major = get_site_option( 'auto_update_core_major', 'unset' ) === 'enabled';
 
+	$upgrade_major_optin_enabled = true;
 	// WP_AUTO_UPDATE_CORE = true (all), 'beta', 'rc', 'minor', false.
 	if ( defined( 'WP_AUTO_UPDATE_CORE' ) ) {
 		if ( false === WP_AUTO_UPDATE_CORE ) {
@@ -343,8 +343,26 @@
 			$upgrade_minor = true;
 			$upgrade_major = false;
 		}
+
+		// The UI is overridden by the WP_AUTO_UPDATE_CORE constant.
+		$upgrade_major_optin_enabled = false;
 	}
 
+	if ( defined( 'AUTOMATIC_UPDATER_DISABLED' ) ) {
+		if ( true === AUTOMATIC_UPDATER_DISABLED ) {
+			$upgrade_dev   = false;
+			$upgrade_minor = false;
+			$upgrade_major = false;
+		}
+		// The UI is overridden by the AUTOMATIC_UPDATER_DISABLED constant.
+		$upgrade_major_optin_enabled = false;
+	}
+
+	// Is the UI overridden by a plugin using the allow_major_auto_core_updates filter?
+	if ( has_filter( 'allow_major_auto_core_updates' ) ) {
+		$upgrade_major_optin_enabled = false;
+	}
+
 	/** This filter is documented in wp-admin/includes/class-core-upgrader.php */
 	$upgrade_dev = apply_filters( 'allow_dev_auto_core_updates', $upgrade_dev );
 	/** This filter is documented in wp-admin/includes/class-core-upgrader.php */
@@ -357,40 +375,54 @@
 		'minor' => $upgrade_minor,
 		'major' => $upgrade_major,
 	);
+
+	if ( $upgrade_major ) {
+		$wp_version = get_bloginfo( 'version' );
+		$updates    = get_core_updates();
+
+		if ( isset( $updates[0]->version ) && version_compare( $updates[0]->version, $wp_version, '>' ) ) {
+			echo '<p>' . wp_get_auto_update_message() . '</p>';
+		}
+	}
+
+	$action_url = self_admin_url( 'update-core.php?action=core-major-auto-updates-settings' );
 	?>
-	<form method="post" action="<?php echo esc_url( $_SERVER['REQUEST_URI'] ); ?>" name="core-auto-updates" class="form-core-auto-updates">
-		<?php wp_nonce_field( 'core-auto-updates-nonce', 'set_core_auto_updates_settings' ); ?>
-		<h2><?php _e( 'Auto-update settings' ); ?></h2>
+
+	<?php if ( $upgrade_major_optin_enabled ) : ?>
 		<p>
 			<?php
-			if ( $auto_update_settings['major'] ) {
-				$wp_version = get_bloginfo( 'version' );
-				$updates    = get_core_updates();
-				if ( isset( $updates[0]->version ) && version_compare( $updates[0]->version, $wp_version, '>' ) ) {
-					echo wp_get_auto_update_message();
-				}
+			if ( $upgrade_major ) {
+				echo sprintf(
+					/* Translators: Action link to disable core auto-updates. */
+					__( 'Auto-updates for regular feature updates are on. You can <a href="%s">turn them off.</a>' ),
+					wp_nonce_url( add_query_arg( 'value', 'disable', $action_url ), 'core-major-auto-updates-nonce' )
+				);
+			} else {
+				echo sprintf(
+					/* Translators: Action link to enable core auto-updates. */
+					__( 'You are invited to <a href="%s">automatically keep this site up-to-date with regular feature updates.</a>' ),
+					wp_nonce_url( add_query_arg( 'value', 'enable', $action_url ), 'core-major-auto-updates-nonce' )
+				);
 			}
 			?>
 		</p>
+	<?php elseif ( $upgrade_major ) : ?>
 		<p>
-			<input type="checkbox" name="core-auto-updates-major" id="core-auto-updates-major" value="1" <?php checked( $auto_update_settings['major'], 1 ); ?> />
-			<label for="core-auto-updates-major">
-				<?php _e( 'Automatically keep this site up-to-date with regular feature updates.' ); ?>
-			</label>
+			<?php _e( 'This website is set to keep itself up-to-date with regular feature updates.' ); ?>
 		</p>
-		<?php
-		/**
-		 * Fires after the major core auto-update checkbox.
-		 *
-		 * @since 5.6.0
-		 */
-		do_action( 'after_core_auto_updates_settings_fields', $auto_update_settings );
-		?>
+	<?php else: ?>
 		<p>
-			<input id="core-auto-updates-settings" class="button" type="submit" value="<?php esc_attr_e( 'Save' ); ?>" name="core-auto-updates-settings" />
+			<?php _e( 'Auto-updates for regular feature updates are not available for this website.' ); ?>
 		</p>
-	</form>
+	<?php endif; ?>
+
 	<?php
+	/**
+	 * Fires after the major core auto-update settings.
+	 *
+	 * @since 5.6.0
+	 */
+	do_action( 'after_core_auto_updates_settings', $auto_update_settings );
 }
 
 /**
@@ -957,6 +989,8 @@
 	?>
 	<div class="wrap">
 	<h1><?php _e( 'WordPress Updates' ); ?></h1>
+	<p><?php _e( 'Here you can find information about updates, set auto-updates and see what plugins or themes need updating.' ); ?></p>
+
 	<?php
 	if ( $upgrade_error ) {
 		echo '<div class="error"><p>';
@@ -982,8 +1016,8 @@
 	echo '</p>';
 
 	if ( current_user_can( 'update_core' ) ) {
+		core_auto_updates_settings();
 		core_upgrade_preamble();
-		core_auto_updates_settings();
 	}
 	if ( current_user_can( 'update_plugins' ) ) {
 		list_plugin_updates();
@@ -1158,6 +1192,23 @@
 
 	require_once ABSPATH . 'wp-admin/admin-footer.php';
 
+} elseif ( 'core-major-auto-updates-settings' === $action ) {
+	$redirect_url = self_admin_url( 'update-core.php' );
+
+	if ( isset( $_GET['value'] ) ) {
+		check_admin_referer( 'core-major-auto-updates-nonce' );
+
+		if ( 'enable' === $_GET['value'] ) {
+			update_site_option( 'auto_update_core_major', 'enabled' );
+			$redirect_url = add_query_arg( 'core-major-auto-updates-saved', 'enabled', $redirect_url );
+		} elseif ( 'disable' === $_GET['value'] ) {
+			update_site_option( 'auto_update_core_major', 'disabled' );
+			$redirect_url = add_query_arg( 'core-major-auto-updates-saved', 'disabled', $redirect_url );
+		}
+	}
+
+	wp_redirect( $redirect_url );
+	exit;
 } else {
 	/**
 	 * Fires for each custom update action on the WordPress Updates screen.
