diff --git a/src/locales/en-US.json b/src/locales/en-US.json
index 70bd281..e64287d 100644
--- a/src/locales/en-US.json
+++ b/src/locales/en-US.json
@@ -332,7 +332,7 @@
         "cardTitleRunning": "Running image",
         "sectionTitleBmcCards": "BMC",
         "sectionTitleBmcCardsCombined": "BMC and server",
-        "sectionTitleHostCards": "Host",
+        "sectionTitleBiosCards": "BIOS",
         "sectionTitleUpdateFirmware": "Update firmware",
         "alert": {
             "operationInProgress": "Server power operation in progress.",
diff --git a/src/locales/ru-RU.json b/src/locales/ru-RU.json
index 4594043..a1233b6 100644
--- a/src/locales/ru-RU.json
+++ b/src/locales/ru-RU.json
@@ -331,7 +331,7 @@
         "cardTitleRunning": "Рабочий образ",
         "sectionTitleBmcCards": "BMC",
         "sectionTitleBmcCardsCombined": "BMC и сервер",
-        "sectionTitleHostCards": "Хост",
+        "sectionTitleBiosCards": "BIOS",
         "sectionTitleUpdateFirmware": "Обновить встроенное ПО",
         "alert": {
             "operationInProgress": "Выполняется операция управления питанием сервера.",
diff --git a/src/store/modules/Operations/FirmwareStore.js b/src/store/modules/Operations/FirmwareStore.js
index 78d3b91..411b0bd 100644
--- a/src/store/modules/Operations/FirmwareStore.js
+++ b/src/store/modules/Operations/FirmwareStore.js
@@ -5,23 +5,23 @@
   namespaced: true,
   state: {
     bmcFirmware: [],
-    hostFirmware: [],
+    biosFirmware: [],
     bmcActiveFirmwareId: null,
-    hostActiveFirmwareId: null,
+    biosActiveFirmwareId: null,
     applyTime: null,
     multipartHttpPushUri: null,
     httpPushUri: null,
   },
   getters: {
-    isSingleFileUploadEnabled: (state) => state.hostFirmware.length === 0,
+    isSingleFileUploadEnabled: (state) => state.biosFirmware.length === 0,
     activeBmcFirmware: (state) => {
       return state.bmcFirmware.find(
         (firmware) => firmware.id === state.bmcActiveFirmwareId,
       );
     },
-    activeHostFirmware: (state) => {
-      return state.hostFirmware.find(
-        (firmware) => firmware.id === state.hostActiveFirmwareId,
+    activeBiosFirmware: (state) => {
+      return state.biosFirmware.find(
+        (firmware) => firmware.id === state.biosActiveFirmwareId,
       );
     },
     backupBmcFirmware: (state) => {
@@ -29,17 +29,17 @@
         (firmware) => firmware.id !== state.bmcActiveFirmwareId,
       );
     },
-    backupHostFirmware: (state) => {
-      return state.hostFirmware.find(
-        (firmware) => firmware.id !== state.hostActiveFirmwareId,
+    backupBiosFirmware: (state) => {
+      return state.biosFirmware.find(
+        (firmware) => firmware.id !== state.biosActiveFirmwareId,
       );
     },
   },
   mutations: {
     setActiveBmcFirmwareId: (state, id) => (state.bmcActiveFirmwareId = id),
-    setActiveHostFirmwareId: (state, id) => (state.hostActiveFirmwareId = id),
+    setActiveBiosFirmwareId: (state, id) => (state.biosActiveFirmwareId = id),
     setBmcFirmware: (state, firmware) => (state.bmcFirmware = firmware),
-    setHostFirmware: (state, firmware) => (state.hostFirmware = firmware),
+    setBiosFirmware: (state, firmware) => (state.biosFirmware = firmware),
     setApplyTime: (state, applyTime) => (state.applyTime = applyTime),
     setHttpPushUri: (state, httpPushUri) => (state.httpPushUri = httpPushUri),
     setMultipartHttpPushUri: (state, multipartHttpPushUri) =>
@@ -47,7 +47,7 @@
   },
   actions: {
     async getFirmwareInformation({ dispatch }) {
-      dispatch('getActiveHostFirmware');
+      dispatch('getActiveBiosFirmware');
       dispatch('getActiveBmcFirmware');
       return await dispatch('getFirmwareInventory');
     },
@@ -60,12 +60,12 @@
         })
         .catch((error) => console.log(error));
     },
-    async getActiveHostFirmware({ commit }) {
+    async getActiveBiosFirmware({ commit }) {
       return api
         .get(`${await this.dispatch('global/getSystemPath')}/Bios`)
         .then(({ data: { Links } }) => {
           const id = Links?.ActiveSoftwareImage['@odata.id'].split('/').pop();
-          commit('setActiveHostFirmwareId', id);
+          commit('setActiveBiosFirmwareId', id);
         })
         .catch((error) => console.log(error));
     },
@@ -80,7 +80,7 @@
         .all(inventoryList)
         .then((response) => {
           const bmcFirmware = [];
-          const hostFirmware = [];
+          const biosFirmware = [];
           response.forEach(({ data }) => {
             const firmwareType = data?.RelatedItem?.[0]?.['@odata.id']
               .split('/')
@@ -94,11 +94,11 @@
             if (firmwareType === 'bmc') {
               bmcFirmware.push(item);
             } else if (firmwareType === 'Bios') {
-              hostFirmware.push(item);
+              biosFirmware.push(item);
             }
           });
           commit('setBmcFirmware', bmcFirmware);
-          commit('setHostFirmware', hostFirmware);
+          commit('setBiosFirmware', biosFirmware);
         })
         .catch((error) => {
           console.log(error);
diff --git a/src/views/Operations/Firmware/Firmware.vue b/src/views/Operations/Firmware/Firmware.vue
index db1a4c7..7612406 100644
--- a/src/views/Operations/Firmware/Firmware.vue
+++ b/src/views/Operations/Firmware/Firmware.vue
@@ -15,8 +15,8 @@
           :is-server-off="isServerOff"
         />
 
-        <!-- Host Firmware -->
-        <host-cards v-if="!isSingleFileUploadEnabled" />
+        <!-- Bios Firmware -->
+        <bios-cards v-if="!isSingleFileUploadEnabled" />
       </b-col>
     </b-row>
 
@@ -41,7 +41,7 @@
 import AlertsServerPower from './FirmwareAlertServerPower';
 import BmcCards from './FirmwareCardsBmc';
 import FormUpdate from './FirmwareFormUpdate';
-import HostCards from './FirmwareCardsHost';
+import BiosCards from './FirmwareCardsBios';
 import PageSection from '@/components/Global/PageSection';
 import PageTitle from '@/components/Global/PageTitle';
 
@@ -54,7 +54,7 @@
     AlertsServerPower,
     BmcCards,
     FormUpdate,
-    HostCards,
+    BiosCards,
     PageSection,
     PageTitle,
   },
diff --git a/src/views/Operations/Firmware/FirmwareCardsHost.vue b/src/views/Operations/Firmware/FirmwareCardsBios.vue
similarity index 90%
rename from src/views/Operations/Firmware/FirmwareCardsHost.vue
rename to src/views/Operations/Firmware/FirmwareCardsBios.vue
index 852e9fb..85e3df2 100644
--- a/src/views/Operations/Firmware/FirmwareCardsHost.vue
+++ b/src/views/Operations/Firmware/FirmwareCardsBios.vue
@@ -1,5 +1,5 @@
 <template>
-  <page-section :section-title="$t('pageFirmware.sectionTitleHostCards')">
+  <page-section :section-title="$t('pageFirmware.sectionTitleBiosCards')">
     <b-card-group deck>
       <!-- Running image -->
       <b-card>
@@ -49,10 +49,10 @@
   },
   computed: {
     running() {
-      return this.$store.getters['firmware/activeHostFirmware'];
+      return this.$store.getters['firmware/activeBiosFirmware'];
     },
     backup() {
-      return this.$store.getters['firmware/backupHostFirmware'];
+      return this.$store.getters['firmware/backupBiosFirmware'];
     },
     runningVersion() {
       return this.running?.version || '--';
