diff --git a/diskdetailshelper/diskdetails.go b/diskdetailshelper/diskdetails.go
index 327a7d54f8c1728d49c95957d05170d14cbb4ef9..00f6e3fe93c82ac703764d025c9526b9aba6e484 100644
--- a/diskdetailshelper/diskdetails.go
+++ b/diskdetailshelper/diskdetails.go
@@ -5,6 +5,7 @@ import (
 	"errors"
 	"os/exec"
 	"regexp"
+	"runtime"
 	"strconv"
 	"strings"
 	"time"
@@ -78,12 +79,16 @@ type DiskStats struct {
 // AnalyseDisk analyses the all disks and returns serial number of disk and path, total space, free space, used space, percentage of each drive
 func AnalyseDisk() (UsageStat, error) {
 	UsageStatobj := UsageStat{}
+	os := ""
 	osInfo, err := host.Info()
 	if err != nil {
 		logginghelper.LogError("error occured while getting OS details", err)
-		return UsageStatobj, err
+		// return UsageStatobj, err
+		os = runtime.GOOS
+	} else {
+		os = osInfo.OS
 	}
-	switch osInfo.OS {
+	switch os {
 	case "windows":
 		UsageStatobj.SerialNumber = gopsutil.GetDiskSerialNumber("")
 		diskStats, err := GetDiskDetails()
@@ -200,12 +205,16 @@ func GetCPUUtilizationPercent(interval time.Duration, percpu bool) ([]float64, e
 // GetCPUPhysicalID returns CPU Physical ID or empty string
 func GetCPUPhysicalID() (string, error) {
 	cpuPhysicalID := ""
+	os := ""
 	osInfo, err := host.Info()
 	if err != nil {
 		logginghelper.LogError("error occured while getting OS details", err)
-		return cpuPhysicalID, err
+		// return cpuPhysicalID, err
+		os = runtime.GOOS
+	} else {
+		os = osInfo.OS
 	}
-	switch osInfo.OS {
+	switch os {
 	case "windows":
 		cmd := exec.Command("wmic", "CPU", "get", "ProcessorId")
 		// cmd.Stdin = strings.NewReader("CPU get ProcessorId")
diff --git a/diskdetailshelper/gopsutil/disk_windows.go b/diskdetailshelper/gopsutil/disk_windows.go
index 162e0d0b1ad327fd720134fbcdae9497246226df..26c4e5a07b07484ef1bc343f90c3426f107f85ce 100644
--- a/diskdetailshelper/gopsutil/disk_windows.go
+++ b/diskdetailshelper/gopsutil/disk_windows.go
@@ -3,8 +3,8 @@
 package gopsutil
 
 import (
-	"regexp"
 	"bytes"
+	"regexp"
 	"unsafe"
 
 	"corelab.mkcl.org/MKCLOS/coredevelopmentplatform/coreospackage/logginghelper"
@@ -197,13 +197,13 @@ func GetDiskSerialNumber(name string) string {
 	info, err := host.Info()
 	if err != nil {
 		logginghelper.LogError("GetDiskSerialNumber Host Info() Err : ", err)
-		return ""
+		// return ""
 	}
 	cmd := &exec.Cmd{}
-	if strings.Contains(info.Platform, "Windows 7") || strings.Contains(info.Platform, "Windows 10") {
-		cmd = exec.Command("wmic","diskdrive","get","serialnumber")
+	if err == nil && (strings.Contains(info.Platform, "Windows 7") || strings.Contains(info.Platform, "Windows 10")) {
+		cmd = exec.Command("wmic", "diskdrive", "get", "serialnumber")
 	} else {
-		cmd = exec.Command("wmic","path","win32_physicalmedia","get","SerialNumber")
+		cmd = exec.Command("wmic", "path", "win32_physicalmedia", "get", "SerialNumber")
 	}
 	var out bytes.Buffer
 	cmd.Stdout = &out